【发布时间】:2012-12-12 14:32:26
【问题描述】:
我试图了解一些关于 Enums 的一般信息,以及它们如何与 Chars 一起工作。以下是我正在使用的示例:
public enum AuditInteractionTypes
{
Authorized = 'A',
Created = 'C',
Revised = 'R',
Extracted = 'E',
Deleted = 'D'
}
首先,声明它们enum AuditInteractionTypes 或enum AuditInteractionTypes : char 有什么区别
其次,我看过很多关于尝试将Enums 与chars 一起使用以及如何“使”它来回工作的帖子。可能是愚蠢的问题,但为什么我不能简单地以string 的身份来回走动。
例如,Authorized = "A"。
如果这很重要,我将使用 Linq To SQL 作为我的 DAL,但我希望这是一个不特定于我的环境的更广泛级别的问题。
【问题讨论】:
-
请注意,在 C# 语言中使用 char 基类型声明枚举是非法的。
-
Deriving from
char无效,但使用char文字来表示每个项目的值是:enum Fruit : int { Apple = 'A', Orange = 'O', Banana = 'B' } -
@AdamHouldsworth:那为什么是 `:int` 部分呢?不明白。
-
@RefractedPaladin 这只是存储枚举的底层数据类型。
char可以用于枚举数据类型隐式转换为char的情况。 -
次要吹毛求疵:命名指南规定您的枚举应命名为
AuditInteractionType;仅当FlagAttribute应用于枚举时才使用复数形式。