c# - C# 中的 in 运算符

标签 c# syntax enums

我认为 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/

相关文章:

成员变量的PHP花括号语法

javascript - Javascript 中的 RGB 透明颜色值

php - LDAP 身份验证的 DN 语法无效

mysql - 将多个 "attributes"添加到 MySQL 数据库中的身份的最有效方法

ios - Switch case 语句 - 通用关联类型

C# 交错数组类型声明反向

c# - 为什么RSACryptoServiceProvider.VerifyHash有 “hash algorithm identifier”参数?

c# - 你会不会有太多 "protected virtual"方法?

c# - 解决方案范围#define

kotlin - Kotlin 中枚举类方法调用常量名的区别