如果不存在值,如何在枚举中获取默认值
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