c# - List<T>.Contains 未显示过载

标签 c# linq generics

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

*编辑: 我无法使用 System.Linq。我的项目是否有可能卡在 .net 2.0 或类似的东西中?无论如何要检查和修复?

最佳答案

确保引用 System.Linq 并将其包含在您的命名空间中(使用 System.Linq)。

您指的第二个电话实际上是 Enumerable.Contains在 System.Linq 中。


根据评论进行编辑:

你可以制作你自己的版本:

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;
}

关于c# - List<T>.Contains 未显示过载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/989689/

相关文章:

c# - 从 gridview 插入数据时处理 'NULL' 和键约束

c# - String.Replace 在 VB 中工作但在 C# 中不工作

c# - linq索引越界

linq - 从 "LINQ to SQL"到 "Azure Table Storage"或 "SQL Data Service"

c# - StructureMap InstanceScope.Hybrid 和 IDisposable

c# web api 使用 auth1.0a 和 OAuthAuthorizationServerProvider

c# - 在网站上显示视频

arrays - 将枚举数组转换为其代表字符串数组

java - Java 泛型和字典返回类型的问题

java - 使用对象的运行时类实例化泛型类