C#数据类型:
1.enum<-->int: 枚举类型默认可以跟int类型互相转换,枚举类型跟int类型是兼容的,枚举默认int值是0: 强制类型转换;
注意:当转换一个枚举中没有的值时,不会抛出异常,而直接将数字显示出来。
1 int a=3; 2 string str = ""; 3 Person ps = new Person(); 4 //int<-->enum:可相互转换:强制类型 5 //enum默认int值为0; 6 ps = (Person)a; 7 Console.WriteLine("int-->enum: {0}", ps); 8 //当转换一个枚举中没有的值时,不会抛出异常,而直接将数字显示出来。 9 a = (int)Person.女; 10 Console.WriteLine("enum-->int: {0}", a);
2.enum<-->string:
3.int<-->string:
所有类型都可以转换成string类型: .ToString();
字符串转换为枚举类型:(要转换的枚举类型)enum.Parse(typeof(要转换的枚举类型),"要转换的字符串") ;
如果转换的字符串是数字,则就算枚举中没有,不会抛出异常;
如果转换的字符串是文本,如果枚举中没有,则会抛出异常。
字符串转换为int类型: Convert.ToInt32()、int.Parse()、int.TryParse()
1 //枚举类型转换为string类型 2 //任何数据类型都可以转换为string类型: .ToString() 3 str = ps.ToString(); 4 Console.WriteLine("enum-->string: {0}", ps); 5 //string类型转换为enum类型: 6 //(枚举名称)Enum.Parse(typeof(枚举名 称),string变量); 7 str = "31"; 8 ps = (Person)Enum.Parse(typeof(Person), str); 9 a = Convert.ToInt32(ps); 10 Console.WriteLine("string-->enum: {0}", ps); 11 Console.WriteLine("string-->int: {0}", a); 12 Console.ReadKey();