【求助】关于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#