检查对象参数是否包含字母列表

时间:2018-05-30 23:53:43

标签: c# linq contains

我有一个带参数ID和代码的对象列表。我想在Code参数中返回包含特定字母的对象。

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

字符串列表 - >字母=('A','M','DQ')

对于此示例,它应返回Code参数中包含“A”或“M”的任何对象。

结果 - >对象ID为0,1,2

我试过这样的事情

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

但这不是我想要的,我无法理解如何做到这一点。

2 个答案:

答案 0 :(得分:1)

这些作品是根据最初提出的问题更新问题的。

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

对于每个对象,检查字母是否包含在代码中。

答案 1 :(得分:0)

在看了一会儿之后,我认为最好的解决方案是嵌套的foreach。

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