在使用前检查通用列表中的项目
本文关键字:列表 项目 检查 | 更新日期: 2023-09-27 18:12:17
对于泛型列表,检查具有特定条件的项是否存在的最快方法是什么?如果存在,则选择它,而无需在列表中搜索两次:
例如:if (list.Exists(item => item == ...))
{
item = list.Find(item => item == ...)
....
}
使用一次Find
并将结果与default(T)
进行比较,或者如果default(T)
可以是项目本身,则使用FindIndex
并检查索引是否为-1:
int index = list.FindIndex(x => x...);
if (index != -1)
{
var item = list[index];
// ...
}
如果你使用的是。net 3.5或更高版本,使用LINQ更习惯——同样,如果default(T)
没有问题,你可以使用如下代码:
var item = list.FirstOrDefault(x => x....);
if (item != null)
{
...
}
使用LINQ可以让你在不改变代码的情况下从List<T>
更改到其他集合
item = list.Find(item => item == ...);
if(null != item)
{
//do whatever you want
}
您可以使用linq简单地做到这一点,只需在名称空间顶部添加使用System.Linq
;
如果你想获得所有的结果:
var items = list.Where(item=>item.Id == giveID).ToList();
或者如果你只想要第一个结果;
var result = list.FirstOrDefault(item=>item.ID == givenID);
代替item.Id == givenID
,您可以使用自己的标准。例如,如果item是字符串,你可以做item == "Test"
或者如果是int,你可以做item == 5
,…