首先,.NET中任何一个对象都可以转换成string,因为它们都有ToString()方法。
至于enum为什么能转换为int,实际上,enum在内部,就是整数,可以说是类型安全的整数。它是编译器的一个魔术,编译器负责检查它是否被设置为一个有效值。

解决方案 »

  1.   

    那它除了可转换成上述两种类型外,还可转换其它类型吗,比如double型,或其它类型?
      

  2.   

    int可以转换为float、double,所以枚举也可以,不过double和float表示枚举是不精确的。
    如果确保它的取值范围在-32767~32767之间,还可以转为short
    还可以用byte表示
    如果你的类实现了转换,那么也可以转换为你定义的类型。