C# 仅当所有用户的状态==1(asp.net mvc)时,获取false
我的模型有这个属性C# 仅当所有用户的状态==1(asp.net mvc)时,获取false,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我的模型有这个属性 public bool AllInactive { get { foreach (UserRow ur in Users) { if (ur.Status == 1) return false; } return true; } } 但只有当所有用户的Status==1时,我才需要得到
public bool AllInactive
{
get
{
foreach (UserRow ur in Users)
{
if (ur.Status == 1) return false;
}
return true;
}
}
但只有当所有用户的Status==1时,我才需要得到false。
我应该如何更改我的代码才能得到它
public bool AllInactive
{
get
{
foreach (UserRow ur in Users)
{
if (ur.Status != 1) return true;
}
return false;
}
}
这样,只要一个用户状态不是1,就会返回true。否则返回false我会使用LINQ,因为它是表达您意图的最清晰的方式:-
public bool AllInactive
{
get { return !Users.All(x => x.Status == 1); }
}
或者,如果您愿意:-
public bool AllInactive
{
get { return Users.Any(x => x.Status != 1); }
}
如果尚未包含System.Linq,则需要将其包含在您的使用中。仅当所有用户的状态为1时,此选项才会返回false。否则-正确
... 或者,如果您喜欢LINQ,则返回Users.Anyx=>x.Status!=意味着不平等。它是==的对立面,我知道了,但它是C,不是VB:啊,对不起。我只阅读了关于这个问题的asp标签,并假设需要asp语法。我的错误。注意:OP写道,只有当所有用户的状态为==1时,我才需要得到false。在您的情况下,如果所有用户的状态为1,您将返回true。你倒过来了。呸,试试这个:返回用户。Anyx=>x.Status!=1.
public book AllInactive
{
get { return !Users.All(user => user.Status == 1); }
}