gpt4 book ai didi

c# - 使用枚举值

转载 作者:行者123 更新时间:2023-11-30 22:05:44 25 4
gpt4 key购买 nike

我想在我的 Web 应用程序中使用一些枚举。我有一个 sharedlib 类型类,它包含我的所有 DTO 并被所有层引用,所以我将把它放在那个项目中。

我创建了一个 .cs 文件,并添加了一个公共(public)枚举:

namespace Objects
{
public enum EntityType
{
Thirdparty = 1,
BankAccount = 2
}
}

我的 SQL 表中有引用数据:

enter image description here

我希望能够像这样引用我的枚举:

if(EntityTypeId==Objects.EntityType.BankAccount) ...

但是,我无法将 Int 与 Object.EntityType 进行比较。

如何实现这一目标以及一种干净整洁的方式?常量代替?

最佳答案

您可以在枚举值和整数值之间进行转换,例如:

EntityType yourEnumValue = (EntityType)yourIntegerValueFromDatabase;

if (yourEnumValue == EntityType.BankAccount) ...

我应该指出,如果整数值对您的枚举无效,您将抛出异常。您可以捕获它并处理它(不是首选),或者您可以使用 IsDefined 方法来测试该值是否有效。

if (Enum.IsDefined(typeof(EntityType), yourIntegerValueFromDatabase))
{
yourEnumValue = (EntityType)yourIntegerValueFromDatabase;
}
else
{
// deal with it some other way, perhaps use a default value
}

关于c# - 使用枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24215954/

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