Как проверить, что список содержит слово?

158
12 июля 2018, 16:30

У меня есть список. В нем элементы вида: "_something":"",

Так вот, я хотела бы узнать, как сделать поиск по списку так, чтобы, имея только something без ковычек и нижнего подчеркивания, находить индекс элемента. Исходя из того, есть ли something внутри, мне нужно будет осуществлять разные действия.

List.Contains, как я поняла, не подходит, List.Where тоже, List.Exists кажется тоже не работает, либо я не смогла правильно выразить условия. Всем спасибо за помощь!

С помощью List fileContent = File.ReadAllLines(filesList[i]).ToList(); я собираю все строки из JSON, как на скрине, затем из БД я вытаскиваю новую таблицу, если ее название уже присутствует внутри списка, я только проверяю все ли ключи там есть, если нет, то добавляю тех, которых нет. Если названия таблицы нет, соответственно, добавляю в конец файла.

Answer 1

Ну допустим, есть коллекция:

List<string> list = new List<string>
{
    "_something1\":\"",
    "_something2\":\"",
    "_something3\":\"",
    "_something4\":\"",
    "_something5\":\""
};

Имеем только something4. Нам надо найти элемент, который это содержит:

list.FirstOrDefault(x => x.Contains("something4"));

Если нам надо получить номер элемента в коллекции, то обернуть все в IndexOf и получить что то вроде этого:

var index = list.IndexOf(list.FirstOrDefault(x => x.Contains("something4")));
READ ALSO
Имплементация Producer/Consumer pattern

Имплементация Producer/Consumer pattern

Паттерн producer/consumer достаточно часто встречается в многопоточном программированииЕго смысл состоит в том, что один или несколько потоков...

180
ASP.NET MVC 5 Identity.Несовпадение хэш-кодов объектов

ASP.NET MVC 5 Identity.Несовпадение хэш-кодов объектов

Для работы с Identity в проекте существуют: контроллер(AccountController) и сервис (IdentityService)Оба класса имеют поля: UserManager (Type: UserManager<AuthUser>) и AuthenticationManager(Type:...

166
Не удаётся ввести с клавиатуры в строковый элемент массива

Не удаётся ввести с клавиатуры в строковый элемент массива

Хочу ввести с клавиатуры значения в строку, которая является элементом массива:string words[1]=ConsoleReadLine(); Выдает ошибку, неудивительно

134