我需要遍历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"
的对象在这种情况下,所有标题都是唯一的,并且只能返回一个对象。
答案 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。