在使用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枚举类型中的一个值

使用linq怎么判断枚举是否有值传来

原文地址: https://www.cveoy.top/t/topic/ivXd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录