在一个范围内查找一个值=c#中是否有这样的代码关键字
本文关键字:一个 代码 是否 关键字 查找 范围内 | 更新日期: 2023-09-27 18:21:23
在很多情况下,我们必须这样做:
if (someVariable == value1 || someVariable == value2 || someVariable == value1...)
如果我们能以以下方式做到这一点,那会很好吗:
if (someVariable in {value1, value2, value3...}
我们可以做这个
int[] arr = {value1, value2, value3....};
if (arr.Contains(someVariable)) ...
但在我看来,这仍然是压倒性的。为什么不支持这种语法,或者有,但我不知道?
我认为这可能是最简洁的:
if (new int[] { 1, 2, 3 }.Contains(2))
{
Console.WriteLine("bleh");
}
为此使用哈希集:
var hs = new HashSet<int>();
hs.Add(1);
hs.Add(2);
...
if(hs.Contains(x))
{
//bingo!
}
怎么样
switch (someVariable)
{
case value1:
case value2:
case value3:
case value12345:
doSomething();
break;
default:
doSomethingElse();
break;
}
使用HashSet的Contains方法。我不确定这是如何提高代码清晰度的,因为您仍然必须检查所有三个条件。