我有一行代码使用:
codebase.Methods.Where(x => x.Body.Scopes.Count > 5);
Run Code Online (Sandbox Code Playgroud)
如何插入多个条件?所以我可以说x => predicate && y => predicate?
谢谢
Luk*_*keH 84
如果您愿意,可以将单独的条件转换为单个谓词:
codebase.Methods.Where(x => (x.Body.Scopes.Count > 5) && (x.Foo == "test"));
Run Code Online (Sandbox Code Playgroud)
或者您可以Where为每个条件使用单独的调用:
codebase.Methods.Where(x => x.Body.Scopes.Count > 5)
.Where(x => x.Foo == "test");
Run Code Online (Sandbox Code Playgroud)
不,你不能在同一个地方定义2个代表,但你可以在彼此之后建立或者将两者放在相同的条件下
var result = codebase.Methods.Where(x => x.Body.Scopes.Count > 5 && x.Body.Scopes.name == "" );
or
var result = codebase.Methods.Where(x => x.Body.Scopes.Count > 5 )
.where( y=> y.Body.Scopes.name == '' );
or
var result = codebase.Methods.Where(x => x.Body.Scopes.Count > 5 )
.Union( codebase.Methods.Where(y => y.Body.Scopes.name == '' ) );
Run Code Online (Sandbox Code Playgroud)