使用linq怎么判断枚举是否有值传来
在使用LINQ判断枚举是否有值传来时,可以使用Enum.IsDefined方法。该方法接受两个参数:枚举类型和要判断的值。如果传入的值存在于给定的枚举类型中,则返回true;否则返回false。
以下是使用LINQ判断枚举是否有值传来的示例代码:
using System;
using System.Linq;
public enum MyEnum
{
Value1,
Value2,
Value3
}
public class Program
{
public static void Main(string[] args)
{
MyEnum myEnumValue = MyEnum.Value2;
bool hasValue = Enum.GetValues(typeof(MyEnum))
.Cast<MyEnum>()
.Any(e => e == myEnumValue);
Console.WriteLine(hasValue);
}
}
在上述代码中,我们使用Enum.GetValues方法获取枚举类型的所有值,并将其转换为IEnumerable<MyEnum>类型。然后使用LINQ的Any方法判断传入的枚举值是否在这个序列中,最后将结果打印出来。
输出结果将会是True,因为MyEnum.Value2是存在于MyEnum枚举类型中的一个值
原文地址: https://www.cveoy.top/t/topic/ivXd 著作权归作者所有。请勿转载和采集!