搜索具有特定标题的对象的多个列表

时间:2014-05-18 13:30:47

标签: c# winforms list object

我需要遍历3个带有对象的列表。每个列表中的每个对象具有相同的结构。列表中的每个对象都有一个标题_objectTitle

这些是我的清单

List<Example> exampleList_1;
List<Example> exampleList_2;
List<Example> exampleList_3;

因此我需要遍历for循环中的所有列表,以便exampleList_1[i] exampleList_2[i] ..等查看其中一个列表中是否有_objectTitle等于"string string string"的对象在这种情况下,所有标题都是唯一的,并且只能返回一个对象。

2 个答案:

答案 0 :(得分:0)

在搜索标题之前,您可以一起搜索所有三个concatenating the lists

var example = exampleList_1.Concat(exampleList_2)
                           .Concat(exampleList_3)
                           .SingleOrDefault(x => x._objectTitle == "someTitle");

您可以使用SingleOrDefault(),因为标题是唯一的,并且最多只能匹配一次。

如果找不到标题,则example将为null

答案 1 :(得分:0)

如果项目位于3个不同的列表中,最简单的方法是使用Concat()方法。

var found = exampleList_1.Concat(exampleList_2).Concat(exampleList_3).SingleOrDefault(e => e._objectTitle == "string string string");

这将返回单个项目,其中Title设置为&#34;字符串字符串&#34;,如果未找到,则返回NULL。