我确信我在这里遗漏了一些简单的东西,但在我当前项目的 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/