如果我有一个需要检查的C#中的变量来确定它是否等于一组变量,那么最好的方法是什么?
我不是在寻找一个将数组存储在一个数组中的解决方案.我更好奇,看看是否有解决方案以某种方式使用布尔逻辑来获得答案.
我知道我可以这样做:
int baseCase = 5; bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;
我很好奇,看看我能做些更像这样的事情吗?
int baseCase = 5; bool testResult = baseCase == (3 | 7 | 12 | 5);
显然上述不行,但我有兴趣看看是否有比我的第一个例子更简洁的东西,它必须对每个测试值一遍又一遍地重复相同的变量.
更新:
我决定接受CoreyN的答案,因为它似乎是最简单的方法.对于新手来说,这是很实际的,我觉得很简单.
不幸的是,在我工作的地方,我们的系统使用.NET 2.0框架,很快就没有机会升级.有没有其他解决方案不依赖.NET 3.5框架,除了最明显的一个我可以想到的:
new List<int>(new int[] { 3,6,7,1 }).Contains(5);
解决方法
bool b = new int[] { 3,12,5 }.Contains(5);