Проверьте, содержит ли параметр объекта список букв - PullRequest
0 голосов
/ 31 мая 2018

У меня есть список объектов с параметрами ID и Code.Я хочу вернуть объекты, которые содержат конкретные буквы в параметре Code.

ID   Code  
---------
0    ABCD  
1    LMNO  
2    ARDQ  
4    PQRD

Список строк -> Letters = ('A', 'M', 'DQ')

Для этого примера он должен возвращать любые объекты, которые содержат «A» или «M» в параметре Code.

Результаты -> Идентификатор объекта 0,1,2

Я пробовал что-то подобное

var Results = MyObjects.FindAll(x => Letters.Contains(x.Code))

Но это не то, что я хочу, я не могу обернутьмоя голова вокруг, как это сделать.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

В работах дано обновление вопроса от того, что было первоначально задано.

var Results = MyObjects.Where(x => letters.Any(y => x.Code.Contains(y))).Select(x => x.ID);

для каждого объекта, проверяется наличие букв, чтобы увидеть, содержится ли он в коде.

0 голосов
/ 31 мая 2018

Посмотрев на это некоторое время, я думаю, что лучшее решение - это вложенный foreach.

var Results = New Object();
foreach(Object row in myObject)
{
    foreach(string letter in letters)
    {
        if(row.column2.contains(letter))
        {
            Results.add(row);
        };
    };
};
...