Без перегрузки для метода 'Contains' принимает 2 аргумента со списком и простой строкой - PullRequest
0 голосов
/ 03 марта 2020

Заимствуя из примера здесь , я попытался сделать следующее:

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

Но просто делая это, я получаю «Нет перегрузки для метода« Contains », требующего 2 аргумента» .

Я также попробовал это как:

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

Но оба из них получают ту же ошибку.

что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

вы должны использовать метод Contains, который является частью пространства имен System.Linq. Просто добавьте эту строку поверх вашего файла, и метод с двумя аргументами должен быть доступен.

using System.Linq; 
0 голосов
/ 03 марта 2020

Вы, вероятно, ищете метод расширения Linq Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>), который задокументирован здесь .

В вашем случае, вероятно, достаточно просто добавить using System.Linq; в начало вашего исходного файла и метод всплывает.

...