using System;
namespace sadf
{
class Class1
{
enum Planet{aaa=1,bbb=2,ccc=3,ddd=4}
static void Main(string[] args)
{
Console.WriteLine((Planet)3);
Console.WriteLine(Planet.ccc);
}
}
}
输出:
ccc
ccc
但是在监视中:
(Planet)3 错误:“(Planet)”无法在“3”上执行
Planet.ccc 错误:标识符“Planet”超出范围

解决方案 »

  1.   

    Planet 是属于类Class1的,你那个Main是静态的,所以会"超出范围"
      

  2.   

    学习一下.为什么main是静态的就不行呢?
      

  3.   

    这样:using System;
    namespace sadf
    {
    class Class1
    {
    enum Planet{aaa=1,bbb=2,ccc=3,ddd=4}
    static void Main(string[] args)
    {objCls = new Class1(); Console.WriteLine((objCls.Planet)3);
    Console.WriteLine(objCls.Planet.ccc);
    }
    }
    }或这样:using System;
    namespace sadf
    {
             enum Planet{aaa=1,bbb=2,ccc=3,ddd=4} class Class1
    {

    static void Main(string[] args)
    {
    Console.WriteLine((Planet)3);
    Console.WriteLine(Planet.ccc);
    }
    }
    }
      

  4.   

    我认为不是static的问题,而是枚举scope的问题。
    不知有没有错。