【发布时间】:2011-09-22 07:26:22
【问题描述】:
C# 允许您将枚举的基础类型设置为 long。但是,当您尝试编译以下两个语句时,您将如何解释行为上的差异:
public enum Colors : long
{
Blue = 512L,
Purple = 1024L
}
和
public enum Colors : System.Int64
{
Blue = 512L,
Purple = 1024L
}
第一个编译成功(带有:long),而第二个(带有:System.Int64)不会编译 - 你会得到一个错误:Type byte, sbyte, short, ushort, int, uint, long,或 ulong 预期 注意:显然,我理解错误消息。令我困惑的是,我认为“long”或多或少是“Int64”的别名
【问题讨论】:
-
嗯...@BoltClock。你的链接很有用。它对这个问题进行了健康的讨论。然而,仅仅看它的标题就很难推断出它涉及的是相同的主题。无论如何,谢谢。
标签: c#