使用Python,我可以使用“in”运算符进行设置操作,如下所示:

x = ['a','b','c']
if 'a' in x:
  do something

C#中的等效功能是什么?

最佳答案

大多数集合都声明了Contains方法(例如,通过ICollection<T>接口(interface)),但始终有更通用的LINQ Enumerable.Contains 方法:

char[] x = { 'a', 'b', 'c' };

if(x.Contains('a'))
{
   ...
}

如果您认为这是“错误的解决方法”,则可以编写扩展来纠正问题:
public static bool In<T>(this T item, IEnumerable<T> sequence)
{
   if(sequence == null)
      throw new ArgumentNullException("sequence");

   return sequence.Contains(item);
}

并将其用作:
char[] x = { 'a', 'b', 'c' };

if('a'.In(x))
{
   ...
}

关于c# - Python的 'in'运算符等效于C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5009882/

10-13 01:00