如果我有一個C#中的變量需要檢查,以確定它是否等於一組變量之一,什麼是最好的方法來做到這一點?最簡潔的方式來確定一個變量是否等於值的「列表」值
我不是在尋找一個將數組存儲在數組中的解決方案。我更好奇看看是否有解決方案以某種方式使用布爾邏輯來獲得答案。
我知道我可以做這樣的事情:
int baseCase = 5;
bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;
我很好奇,看看我能不能做更多的事情是這樣的:
int baseCase = 5;
bool testResult = baseCase == (3 | 7 | 12 | 5);
顯然上面的都不行,但我有興趣看看是否有比第一個例子更簡潔的東西,它必須對每個測試值反覆重複相同的變量。
UPDATE:
我決定接受CoreyN的答案,因爲它似乎是最簡單的方法。我認爲這是實用的,對於初學者來說,仍然很簡單。
不幸的是,在我工作的系統中,我們的系統使用了.NET 2.0框架,並且很快就沒有升級的機會。是否有任何其他的解決方案,在那裏,不依賴於.NET 3.5框架,除了最明顯的一個我能想到的:
new List<int>(new int[] { 3, 6, 7, 1 }).Contains(5);
這是.NET 2。0解決方案,比Corey的複雜一點:http://stackoverflow.com/questions/18407#153037 – Joe 2008-09-30 13:38:51