C# enum和Enum

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:03:59
MSDN里面 enum只是一个关键字,但是里面也有Enum,并且绝大多数的方法都在Enum里面getNames()等,而enum只有5个方法好象什么toString(),geiType 记不清楚了
谁能解释解释这俩东西当然区别嘛
一楼的回答我很满意的,但是这句话“枚举类型都是值类型。System.Enum是一个抽象类(abstract class),所有枚举类型都直接继承自它,当然也同时继承了它的所有成员”
问:既然是继承了他Enum但是 我定义的枚举实例化后并不能直接使用 他老爸的方法 而是先要使用
Eunm()包一下, 这是不是枚举类型需要显示转换的原因?

枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。
Enum 提供比较此类的实例的方法、将实例的值转换为其字符串表示形式的方法、将数字的字符串表示形式转换为此类的实例的方法和创建指定枚举和值的实例的方法。
也可以将枚举视为位域

枚举类型都是值类型。System.Enum是一个抽象类(abstract class),所有枚举类型都直接继承自它,当然也同时继承了它的所有成员。所有的值类型都是System.ValueType的后代,枚举类型也不例外,枚举类型直接继承自System.Enum,而System.Enum却又直接继承自System.ValueType的,所以,枚举类型也是System.ValueType的后代。
值类型都是System.ValueType的后代”,但System.ValueType的后代不全是值类型,System.Enum就是唯一的特例!在System.ValueType的所有后代中,除了System.Enum之外其它都是值类型.

enum是一个c#关键字,是c/c++/c#等c语系语言一种关键字.用于定义枚举类型.
Enum其实就是System.Enum,是枚举的类型实现,是一个抽象类(abstract class),所有枚举类型都直接继承自它