枚举中的元素是整型的!
public enum MyEnum
{
    ME_DATA1    =1;
}
ME_DATA1默认为0

解决方案 »

  1.   

    枚举无法建立其它类型的吗?比如long。
    记得在c中枚举的类型是可变的:当数据都很小时,枚举就是byte;当数据比较大时,枚举就是int;更大时,不就是long了吗?在这个枚举定义中,各元素标识了一个ID,它需要64位长。我希望能用枚举来实现,而不是定义多个long数据/常量。不知道是否有实现的可能。
      

  2.   

    如下:
    // keyword_enum2.cs
    // Using long enumerators
    using System;
    public class EnumTest 
    {
       enum Range :long {Max = 2147483648L, Min = 255L};
       public static void Main() 
       {
          long x = (long) Range.Max;
          long y = (long) Range.Min;
          Console.WriteLine("Max = {0}", x);
          Console.WriteLine("Min = {0}", y);
       }
    }
      

  3.   

    示例 2
    在此例中,base-type 选项用于声明成员为 long 类型的 enum。注意:即使枚举的基础类型为 long,仍必须通过显式转换将枚举成员显式转换为 long 类型。// keyword_enum2.cs
    // Using long enumerators
    using System;
    public class EnumTest 
    {
       enum Range :long {Max = 2147483648L, Min = 255L};
       public static void Main() 
       {
          long x = (long) Range.Max;
          long y = (long) Range.Min;
          Console.WriteLine("Max = {0}", x);
          Console.WriteLine("Min = {0}", y);
       }
    }
    输出
    Max = 2147483648
    Min = 255
    请参见
    C# 关键字 | 默认值表 | 内置类型表 | 类型 | 值类型
    // 哎,,,,我为什么没想到啊~~~