我有以下代码:
if (ListOfMyModel.Any(a => a.SomeID != 0 &&
IsAuthorizedOnID(TheUserID, a.SomeID) == false) == false)
{
return true;
}
基本上,我有一个对象列表,并用一个传递给lambda表达式的
foreach
替换了.Any()
循环。仅在以下情况下,此代码才应返回true:a)在第二个函数中授权了SomeID不等于0的所有对象,而不必担心对SomeID等于0的对象的授权。
我的表达是正确的还是在某些情况下可能失败?
谢谢。
最佳答案
而不是添加所有的否定,您应该使用与描述中相同的代码编写代码:
如果每个用户的ID为零或已被授权。
return list.All(a => a.SomeId == 0 || IsAuthorizedOnID(TheUserID, a.SomeID));
关于c# - 如果lambda中的条件相结合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20749247/