如果不存在值,如何在枚举中获取默认值

c#

我有这个枚举:

public enum EnumMoney
{
    SDI= 1,
    RCV= 2,
    STIS= 3
}

如果我用不存在的代码检索值,它将返回整个代码。

样本:

var selectedEnum =  (EnumMoney) 1;
var selectedEnumNoExist =  (EnumMoney) 200;

selectedEnumNoExist将返回“200”。我实际上希望它返回一个空字符串。

回答

您需要使用 Enum.IsDefined 静态方法来检查枚举是否存在,然后对其进行处理。

例如:


var someValue = 200;
var stringValue = Enum.IsDefined(typeof(EnumMoney), someValue) ? someValue.ToString() : "";

您可以在此处找到有关 Enum.IsDefined 的更多信息:https ://docs.microsoft.com/en-us/dotnet/api/system.enum.isdefined ? view = net-5.0


以上是如果不存在值,如何在枚举中获取默认值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>