枚举转int类型:
枚举类型默认可以跟int类型互相转换,枚举类型跟int类型是兼容的。
默认会输出当前枚举值所在的索引,从0开始:
namespace day_1
{
public enum Person
{
name,
sex,
height,
weight,
address
}
class Hello
{
static void Main()
{
//将枚举类型转换为int类型,强制转换
Person name = Person.name;
int num = (int)name;
Console.WriteLine(num); // 0
Console.Read();
}
}
}
int类型转枚举类型:
也是强制转换,枚举类型 变量名 = (枚举类型)int变量名
规则:int变量的值相当于,枚举的索引,找到的话会把索引对应的枚举值输出,没找到会输出变量的值。
namespace day_1
{
public enum Person
{
name,
sex,
height,
weight,
address
}
class Hello
{
static void Main()
{
int num = 2;
int num1 = 10;
Person person = (Person)num;
Person person1 = (Person)num1;
Console.WriteLine(person); // height
Console.WriteLine(person1); // 10
Console.Read();
}
}
}
枚举与string类型的转换:
补充:所有的额类型都可以转换成string类型,使用 - Tostring( ); 方法
枚举转字符串:
以上边规则一样,调用Tostring() 来转换为字符串:
namespace day_1
{
public enum Person
{
name,
sex,
height,
weight,
address
}
class Hello
{
static void Main()
{
Person person = Person.name;
string s = person.ToString();
Console.WriteLine(s); // name
Console.Read();
}
}
}
字符串转枚举:
要转换的枚举类型 变量 = (要转换的枚举类型) Enum.Parse( typeof ( 要转换的枚举类型), "要转换的字符串" );
第一步:
使用:Enum.Parse()方法,调用Parse()方法的目的就是为了让它帮助我们将一个字符串,转换为对应的枚举类型
第二步:
参数一:获取要转换的枚举的类型 ,使用typeof( ) 方法来获取,可以获取我们自定义的枚举类型;
参数二:要转换的字符串
第三步:
与int类型转枚举类型一样,前边要声明要转的枚举类型:
注意:如果转换的字符串是数字,枚举有中没有,也不抛异常;如果转换的字符串是文本,枚举里边没有字符串定义的值的时候,会报错!
namespace day_1
{
public enum Person
{
name,
sex,
height,
weight,
address
}
public enum Sex
{
fameil,
meil
}
class Hello
{
static void Main()
{
string str = "1";
// (Person) 强制转换为Parson类型
Person person = (Person)Enum.Parse(typeof(Person), str);
Console.WriteLine(person); // sex
Console.ReadLine();
}
}
}