我认为 Commodore 128 Basic 中有一个 in 运算符。
c# 中也有 in 运算符吗?
我的意思是有没有这样的运营商
if(aString in ["a", "b", "c"])
Console.Out.WriteLine("aString is 'a', 'b' or 'c'");
Edit1:目前我需要它来确定枚举值是否在某些枚举值的范围内。
Edit2:感谢大家提供 Contains() 解决方案。我将来会用到它。但目前我需要枚举值。我可以用 Contains() 或其他方法替换以下语句吗?
public enum MyEnum { A, B, C }
class MyEnumHelper
{
void IsSpecialSet(MyEnum e)
{
return e in [MyEnum.A, MyEnum.C]
}
}
Edit3:抱歉,它不是 Basic。我只是在谷歌上搜索了一会儿,发现 Turbo Pascal 作为我可以看到的候选者。参见 http://en.wikipedia.org/wiki/Pascal_%28programming_language%29#Set_types
Edit4:迄今为止的最佳答案(2012 年 2 月 15 日结束):
- 对于列表和数组:接受的答案和所有其他答案 包含() 解决方案
- 对于 Enums:TheKaneda 的回答,其中列出了很好的优点/缺点 不同的扩展方法
最佳答案
试试这个:
if(new [] {"a", "b", "c"}.Contains(aString))
Console.Out.WriteLine("aString is 'a', 'b' or 'c'");
这使用了 Contains
在数组中搜索 aString
的方法。
关于c# - C# 中的 in 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9299823/