方法 'Contains' 没有重载需要 2 个参数,列表和简单字符串

No Overload for method 'Contains' takes 2 arguments with list and simple string

借用 example here,我尝试执行以下操作:

List<string> animals = new List<string> { "Horse", "Cat", "Dog" };
bool testCase = animals.Contains("horse", StringComparer.CurrentCultureIgnoreCase);

但是这样做,我得到 "No overload for method 'Contains' takes 2 arguments"。

我也试过:

List<string> animals = new List<string> { "Horse", "Cat", "Dog" };
string testAnimal = "horse";
bool testCase = animals.Contains(testAnimal, StringComparer.CurrentCultureIgnoreCase);
testCase = animals.Contains((string)testAnimal, StringComparer.CurrentCultureIgnoreCase);

但这两个都得到相同的错误。

我在这里错过了什么?

您可能正在搜索 here.

中记录的 Linq 扩展方法 Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>)

在您的情况下,只需将 using System.Linq; 添加到源文件的顶部并弹出该方法就足够了。

您必须使用作为命名空间 System.Linq 一部分的扩展方法 Contains。 只需将此行添加到文件顶部,即可使用带有两个参数的方法。

using System.Linq; 

请注意,重载方法仅适用于目标 Win 10 版本 1809 及更高版本。