在列表列表中查找元素,c#

San*_*ndy 4 c#

我有一份清单如下:

List<List <T> > userList

Class T { string uniqueidentifier, string param2, int param2}

我有一个uniqueidentifier,我需要在列表中找到具有相同'uniqueidentifier'值的元素T.

我可以使用两个'foreach'循环来完成它.这似乎不是很好的做事方式.我想应该有一些像"查找"这样的内置方法可以做同样的事情并且经过高度优化.

cdh*_*wie 13

Find根本没有优化 - 它执行线性搜索,因为这是在未排序列表上唯一有意义的事情.如果你正在寻找一种更好的方法来编写它,你可以使用LINQ:

var element = (from sublist in userList
               from item in sublist
               where item.uniqueidentifier == someid
               select item).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)