在C#中是否有这样的结构,我可以说类似于以下内容:
foreach(object obj in listofObjects where obj.property == false){
Run Code Online (Sandbox Code Playgroud)
这样它只会遍历集合中特定的对象子集?
Vse*_*nin 10
扩展mehtods很简单:
foreach(object obj in listofObjects.Where(w => !w.property))
Run Code Online (Sandbox Code Playgroud)
您可以使用方法语法
foreach(object obj in listofObjects.Where(obj => !obj.property))
Run Code Online (Sandbox Code Playgroud)
它也可以使用查询语法,但它不可读(至少对我来说):
foreach(object obj in (from x in listofObjects where !x.property select x))
Run Code Online (Sandbox Code Playgroud)
如果您要使用它,我会将查询存储到变量中:
var query = (from x in listofObjects
where !x.property
select x);
foreach(var obj in query) { }
Run Code Online (Sandbox Code Playgroud)