0
点赞
收藏
分享

微信扫一扫

c#枚举和int以及string类型之间的转换

枚举转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();
}
}

}

 


举报

相关推荐

0 条评论