c#,Enum.Parse把输入的字符串内容转换成枚举型,有什么意义哦?反正只能输入已定义好的枚举型的值。 5

enumAnimal{狗,牛,蛇,鸡}staticvoidMain(string[]args){Animalb;Console.WriteLine("请输入字符串");s... enum Animal
{
狗, 牛, 蛇, 鸡
}
static void Main(string[] args)
{
Animal b;
Console.WriteLine("请输入字符串");
string s = Console.ReadLine(); //接收用户输入的字符串内容
b=(Animal)(Enum.Parse(typeof(Animal),s)); //把字符串s的内容转换成枚举型Animal的值
Console.ReadKey();
}

dos框提示让输入时,所输入的字符串内容限制只能是定义好的枚举Animal中的值,不然就出错。
这样子一来,还搞这个转换有什么意义啊?
感觉就和直接定义枚举对象一个样了。
Animal b;
b=Animal.牛;
展开
 我来答
然后去远足
2014-07-26 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2359万
展开全部
题主只需要能回答我下面三个问题:

int 类型的 1,和 double 类型的 1,是相等的么?

bool 类型的 false,和 string 类型的 "False",是同一个变量?

string 类型的 "牛",和 Animal 类型的 "牛",他俩能一样么?
更多追问追答
追问
不是啊,我是说为什么要先输入,再进行转换。
直接定义Animal b= Animal.牛 不就可以了吗,它和【先对b进行字符串赋值,再转换成枚举】 起到的作用不都一样吗
追答

你直接定义了 Animal b = Animal.牛 了,那我输入“狗”的时候怎么办?再定义一个 Animal c = Animal.狗,然后用 if-else 来判断?那你这是枚举类里就四个成员,假设要有四百个成员呢?写四百个 if-else ?

Animal b;
Console.WriteLine("请输入字符串"); 
string s = Console.ReadLine();  
if (s == "狗")
    b = Animal.狗;
else if (s == "牛")
    b = Animal.牛;

这种写法?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式