如果集合包含满足谓词的元素,LINQ将返回true
我想简化语法。我想我能用吗?或但是我不太明白怎么做。你可以用。比如说如果集合包含满足谓词的元素,LINQ将返回true,linq,nullable,Linq,Nullable,我想简化语法。我想我能用吗?或但是我不太明白怎么做。你可以用。比如说 public bool AnyBroken => (Statuses != null) && Statuses.Count(s => s == Status.Broken) > 0; 您可以尝试这种方式,链接为实时演示 请注意: 但是如果status为null呢?status?将返回null,该值不等于true。因此,任何损坏的都将被评估为false。 public bool AnyBrok
public bool AnyBroken => (Statuses != null) && Statuses.Count(s => s == Status.Broken) > 0;
您可以尝试这种方式,链接为实时演示 请注意:
但是如果status为null呢?status?将返回null,该值不等于true。因此,任何损坏的都将被评估为false。
public bool AnyBroken => (Statuses != null) && Statuses.Count(s => s == Status.Broken) > 0;
public bool AnyBroken => Statuses?.Any(x=>x == Status.Broken)==true;
using System;
using System.Linq;
public class Program
{
public static void Main()
{
var listContainBroken = new [] { Status.Broken, Status.Unspecified };
var listDoesNotContainBroken = new [] { Status.Unspecified };
Console.WriteLine("List Contain Broken: " + listContainBroken?.Any(s => s == Status.Broken));
Console.WriteLine("List Does not Contain Broken: " + listDoesNotContainBroken?.Any(s => s == Status.Broken));
}
public enum Status
{
Unspecified = 0,
Good = 1,
Broken = 2
}
}