List <T>.包含不显示重载

Ale*_*lex 2 c# linq generics

我确信我在这里遗漏了一些简单的东西,但在我当前项目的Visual Studio 2008中只有List.Contains(T)存在.能够使用List.Contains(T,IEqualityComparer(T))会给我带来很多悲伤.有什么快速的想法吗?谢谢.

*编辑:使用System.Linq不可用.我的项目是否可能陷入.net 2.0或其他类似的东西?无论如何要检查和修复?

Ree*_*sey 8

确保引用System.Linq并在命名空间中包含它(使用System.Linq).

您指的第二个调用实际上是System.Linq中的Enumerable.Contains.


编辑以回应评论:

你可以制作自己的版本:

public void ContainedInList(IEnumerable<T> list, T value, IEqualityComparer<T> comparer)
{
    foreach(T element in list)
    {
        if (comparer.Equals(element, value))
            return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)