黑马程序员技术交流社区
标题:
将用户输入的字符串 转换成枚举类型
[打印本页]
作者:
张雪风
时间:
2012-6-7 18:17
标题:
将用户输入的字符串 转换成枚举类型
今天复习了一下 发现忘记的公式:(自定义枚举)(Enum.parse(typeof(自枚), 输入的字符串))) 将字符串转换成自己定义的枚举类型
例如:
enum sex { 男, 女 };//定义枚举类型
Console.WriteLine("请输入性别(男/女)");
string sexInput = Console.ReadLine();
sex nv;
nv = sex.女;
nv = (sex)(Enum.Parse(typeof(sex), sexInput));//将字符串转换成枚举类型
Console.WriteLine(nv);
作者:
王继光
时间:
2012-6-8 23:06
本帖最后由 王继光 于 2012-6-8 23:07 编辑
我原来是学C语言的, 现在准备报 ,net班, 看了2天视频,也接触 过你说的 把 字符串类型转换为 枚举类型, 死记硬背公式觉得不是很好, 我们仔细分析一下这个 公式
(自定义枚举) (Enum.parse(typeof(自枚), 输入的字符串))
把它分为2个部分, 首先 前面的 (自定义枚举类型) 我的理解它是一个强制类型转换, 把 我们后面 Enum.parse方法的返回值 强制转换为我们 需要的 自定义枚举类型
再说后面的 Enum.parse(参数1, 参数2)方法, , 我们先把它简化为包含2个参数, 那么这2个参数都是什么意思呢? 我们说 参数1: typeof(sex), 它指定 参数2将被转换为哪一个 类型的 值,,
typeof 的作用是 返回变量的数据类型 例如:
Enum.parse(typeof(sex), "男"); 那么参数1指定 参数2将被转换为 enum类型,, 因为 typeof(sex)返回的是 enum,, 然后在前面加一个 (sex) (Enum.parse(typeof(sex), "男")) 就把它转换为了 enum sex 类型
作者:
杨海波
时间:
2012-6-8 23:18
Enum的静态方法
valueOf(Class<T> enumType, String name)
第一个参数指定要将字符串转换成什么枚举类,第二个参数指定要转换的字符串。
如果指定枚举类型不包含指定名称的常量,或者指定类对象不表示枚举类型,会抛异常。
作者:
吴伟烈
时间:
2012-6-19 22:04
将一个字符串装换成枚举类型
(枚举类型名)(Enunm.Parse(typeof(枚举类型名),"字符串"));
String s=Console.ReadLine();
try
{
sex=(Sex)(Enum.Parse(typeof(Sex),s));
}catch{
Console.Writeline("输入的不是枚举类型");
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2