gpt4 book ai didi

c# - C# 中枚举的 Tryparse 和 IsDefined

转载 作者:行者123 更新时间:2023-11-30 13:13:13 26 4
gpt4 key购买 nike

我要做的就是:

判断一个字符串是否是一个有效的 Enum 元素,如果是,返回状态。

类似于,如果我有一个枚举,比如 Enum_Test,它又由红色、蓝色、绿色作为其值。

现在,如果蓝色是要验证的元素,我会使用类似的东西

Enum_Test evalue;
if(Enum.TryParse(string_Verify, true, out evalue))
{
return true;
}

否则我还有另一种选择,

if( Enum.IsDefined(typeof(Enum_Test), string_Verify))
{
return true;
}

以上方法的优点和坑是什么?

最佳答案

第一种方法的优点:不区分大小写:如果你得到blue,并且有一个枚举成员Blue,就可以了.

第二种方法的优点:它是 self 记录的:你不是真的想解析,你想检查是否有枚举值用给定的名称定义。因此,在第二种情况下,方法的名称更符合您的意图。

也就是说,如果您想要这两个优点,请使用第一种方法并将其封装到一个命名良好的方法中(例如 IsEnumDefinedIgnoreCase)。

关于c# - C# 中枚举的 Tryparse 和 IsDefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14683840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com