0

私のモデルにはこのプロパティがあります

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

しかし、すべてのユーザーが持っている場合にのみ false にする必要があります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まだ含まれていない場合は、usingsに含める必要があります。

于 2013-06-07T08:19:34.247 に答える
2

これは、すべてのユーザーがステータスを持っているfalse場合にのみ返されます。そうでなければ - ;1true

public book AllInactive
{
     get { return !Users.All(user => user.Status == 1); }
}
于 2013-06-07T08:27:02.180 に答える