下面的代码可以成功找到列表中是否存在值。如何添加where子句,使其仅适用于Type =" File"
的列表项if (MyGlobals.ListOfItemsToControl.Any(x => x.sItemName == info.FullName)) // Dont allow duplicates
{
}
我想要的伪代码
if (MyGlobals.ListOfItemsToControl.Any(x => x.sItemName == info.FullName).Where(y => y.Type == "File")) // Dont allow duplicates
{
}
答案 0 :(得分:3)
您的过滤器(Where
)应该在Any
之前
if (MyGlobals.ListOfItemsToControl
.Where(y => y.Type == "File")
.Any(x => x.sItemName == info.FullName))
您还可以将Any
中的两个条件合并为:
if (MyGlobals.ListOfItemsToControl
.Any(x => x.Type == "File"
&& x => x.sItemName == info.FullName))
答案 1 :(得分:1)
设置你可以简单地使用
的地方if (MyGlobals.ListOfItemsToControl.Any(x => x.sItemName == info.FullName && x.Type == "File")) // Dont allow duplicates
{
}