0

我的模型有这个属性

public bool AllInactive
    {
        get
        {
            foreach (UserRow ur in Users)
            {
                if (ur.Status == 1) return false;
            }
            return true;
        }
    }

但只有当所有用户都拥有Status == 1.
我应该如何更改我的代码来获得它?

4

3 回答 3

4

我会使用 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如果尚未包含,则需要将其包含在您的使用中。

于 2013-06-07T08:19:34.247 回答
2

false仅当所有用户都具有状态时才会返回1。否则 - true;

public book AllInactive
{
     get { return !Users.All(user => user.Status == 1); }
}
于 2013-06-07T08:27:02.180 回答
1
public bool AllInactive
{
    get
    {
        foreach (UserRow ur in Users)
        {
            if (ur.Status != 1) return true;
        }
        return false;
    }
}

这样,只要一个用户状态不是 1,就会返回 true。否则返回 false

于 2013-06-07T08:12:09.620 回答