C#基础学习笔记(三)—枚举的定义与使用
上一篇 /
下一篇 2017-05-23 12:43:20
/ 个人分类:编程语言
类型转换
1、 隐式转换
从类型A到类型B的转换可以在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换。
2、 显示转换
从类型A到类型B的转换只能在某些情况下进行,转换的规则比较复杂,应进行某种类型的处理。
枚举的定义及声明
定义枚举
enum<typeName>{<value1>,<value2>…<valueN>}
变量的声明及赋值
<typeName><varName>;
<varName>=<typeName>.<value>;
说明:
枚举类型可用值有一个默认类型int;
在声明中添加类型,就可以指定其它基本类型;
enum<typeName>:<underlyingType>{<value1>,<value2>…<valueN>}
默认情况下,每个值都会根据定义的顺序(从0开始),自动赋给对应的基本类型值,意value1对应的值为0,value2的值是1,以此类推。
赋值过程可以重写:使用=运算符,指定每个枚举的实际值。
enum<typeName>:<underlyingType>{<value1>=<actualVar1>,<value2>=<
actualVar2>…<valueN>=< actualVarN>} |
没有赋值的任何值都会自动获得一个初始值,这个初始值是比上一个已经明确声明的值大于1的序列。
例如:若value2未赋值,则value2=<actualVar1>+1;
枚举的使用举例
namespace Demo002
{
enum name
{
Nacy,
Lucy,
Lily
}
class Program
{
public static void Main(string[] args)
{
int nameInt;
string nameString;
name myName = name.Nacy;
Console.WriteLine("myName is {0}",myName);
nameInt = (int)myName;
nameString = Convert.ToString(myName);
//nameString = myName.ToString();//
Console.WriteLine("int equivalent = {0}",nameInt);
Console.WriteLine("string equivalent = {0}",nameString);
Console.ReadKey();
}
}
} |
上述代码段的执行结果为:
myName is Nacy
int equivalent = 0
string equivalent = Nacy
上述代码段涉及到了类型的转换:
将枚举值转换为其它类型时,必须使用显示转换,name默认类型为int,此时如果要将myName转换为int型,也必须使用(int)强制类型转换:
将myName的值转换为int类型,实际是使用枚举值的顺序值(默认值);
将myName的值转换为string类型,实际使用枚举值的字符串值,除代码段中的转换方式外,还可以使用ToString()命令,等价于:
nameString = myName.ToString();
收藏
举报
TAG: