上面有一點不同尋常的要求,其中有一個整數參數x,它可以取單個值或一組值。如果參數採用一組值,則僅存儲最大值和最小值就足夠了。通常的C#思想讓我有四個變量,即x,minX,maxX和布爾變量(知道變量是單個還是一組值),我有四個這樣的參數,導致類變量膨脹(共16個變量)。存儲單個/整數值組
C#中是否有任何構造可以幫助我在高效存儲中使用上述約束?我無法超越可以爲空的價值觀念。
上面有一點不同尋常的要求,其中有一個整數參數x,它可以取單個值或一組值。如果參數採用一組值,則僅存儲最大值和最小值就足夠了。通常的C#思想讓我有四個變量,即x,minX,maxX和布爾變量(知道變量是單個還是一組值),我有四個這樣的參數,導致類變量膨脹(共16個變量)。存儲單個/整數值組
C#中是否有任何構造可以幫助我在高效存儲中使用上述約束?我無法超越可以爲空的價值觀念。
,你可以創建自己的struct
或看System.Tuple - 一個內置的通用的 '容器' 類
min
和max
。
如果只有一個值,那麼min
== max
。
你甚至可以提供一些糖呼叫者這種情況:
public SomeType MyMethod(int minA, int maxA, int minB, int maxB, int minC, int maxC, int minD, int maxD)
{
//real work here.
}
public SomeType MyMethod(int a, int b, int c, int d)
{
return MyMethod(a, a, b, b, c, c, d, d);
}
是'minX'和'maxX'還不夠嗎?如果它們具有相同的值,那麼它不是一個範圍,如果它們不同,那麼它就是一個範圍。 – hmjd