当前位置:编程学习 > C#/ASP.NET >>

【求助】关于typeof(type)的问题

        public enum week : int
        {
            monday = 1,
            tuesday,
            wednesday,
            thursday,
            friday,
            saturday,
            sunday
        }
        static void Main(string[] args)
        {
            Console.WriteLine(typeof(week));
        }

不明白为什么以上程序的结果输出的是:命名空间.Program+week

求高手解释!

如果把            Console.WriteLine(typeof(week));
改为            Console.WriteLine(typeof(DayOfWeek));

输出的则是:System.DayOfWeek

还是不明白为什么会输出的是DayOfWeek

这不都是枚举类型么?

顺便给自己找一个师傅,或者愿意一起研究问题的朋友!QQ:362710226 --------------------编程问答-------------------- 你的week枚举写在Program类里的, 输出命名空间.Program+week 很正常吧 

这不都是枚举类型么?
照你这么说 所有的 typeof(类型) 都会是 object了  或者是 class? --------------------编程问答-------------------- Console.WriteLine(typeof(week));
你这段代码的意思是输出week的类型,你定义的week的命名空间是你自己定义的。DayOfWeek的命名空间是System 所以输出的结果不一样。。
--------------------编程问答-------------------- 都是枚举,但是所属的命名空间有差异,就是这样。 --------------------编程问答-------------------- 命名空间.Program+week 
可能你的疑问是为什么中间有个 Program
那是因为你把你的枚举定义在了名字为{Program名}class里。。
这个可以拿到类的外面的。这样就没有Program名了。。直接命名空间.week  --------------------编程问答-------------------- 我不明白typeof()返回的到底是一个什么?

如果按照你说的那样,输出输出命名空间.Program+week,和输出:System.DayOfWeek我能理解的话,我实在是不懂,比如typeof(int),typeof(string)等这些括号内的都是一个类型,而typeof(week)和typeof(DayOfWeek)却是枚举名,他们的实际类型不应该是int么?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,