如果我在 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);