c# - 确定变量是否等于 'list' 值中的值的最简洁方法

标签 c# logic boolean-logic

如果我在 C# 中有一个变量需要检查以确定它是否等于一组变量中的一个,执行此操作的最佳方法是什么?

我不是在寻找将集合存储在数组中的解决方案。我比较想知道是否有以某种方式使用 bool 逻辑来获得答案的解决方案。

我知道我可以做这样的事情:

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,7,12,5 }.Contains(5);

关于c# - 确定变量是否等于 'list' 值中的值的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18407/

相关文章:

c# - 如何在 MySql 中对事务提交超时进行单元测试?

c# - C# 的高效缩放

java - 游戏逻辑 - 通过障碍物后只加一次分数

c - 填充二维数组的逻辑

java - 如何在java中返回四分之三 boolean 值的答案

java - Integer Java 上的 boolean 逻辑非运算符

c# - 使用三元运算符而不是 IF THEN 有什么意义?

c# - “Long”延迟导致我的视​​图的按钮无法重新启用

algorithm - 使用给定的 n 个字符串输入生成 Bulls 和 Cows 密码

python - Pandas :索引数据框时的多个条件 - 意外行为