A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 狱之一族 中级黑马   /  2013-3-27 21:27  /  1972 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 狱之一族 于 2013-3-29 20:51 编辑

enum xingbie
    {
        男,女
     }
    class Program
    {   
        
        static void Main(string[] args)
        {
            xingbie xb;
            Console.WriteLine("请输入你的性别");
            string x = Console.ReadLine();
            try
            {
                xb = (xingbie)(Enum.Parse(typeof(xingbie),x));
                Console.WriteLine("你输入的性别为"+xb.ToString());
            }
            catch
            {
                Console.WriteLine("你的输入有误");
            }
            Console.ReadKey();
        }
        
      
    }

这道题我是按照老师讲的做的,不知道为什么却提示我xb未赋值,我想求会的帮忙,是哪个错了,应该怎么赋值,

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

5 个回复

倒序浏览
xb = (xingbie)(Enum.Parse(typeof(xingbie),x));//这里不用转,直接xb=xingbie.男 或 xb=xingbie.女就行了
回复 使用道具 举报
xb = (xingbie)(Enum.Parse(typeof(xingbie),x));// 修改为:xb = (xingbie )Enum.Parse(typeof(xingbie), x);  试试看
回复 使用道具 举报
胡志超 发表于 2013-3-27 21:43
xb = (xingbie)(Enum.Parse(typeof(xingbie),x));//这里不用转,直接xb=xingbie.男 或 xb=xingbie.女就行了 ...

不是,这个题我问的是,让人自由输入,如果输入男,他就显示男,输入女就显示女,(显示的男女不是输入的男女,而是最后的结果)
回复 使用道具 举报
许庭洲 发表于 2013-3-27 21:43
xb = (xingbie)(Enum.Parse(typeof(xingbie),x));// 修改为:xb = (xingbie )Enum.Parse(typeof(xingbie),  ...

嗯,好的
回复 使用道具 举报
  Console.WriteLine("你输入的性别为"+xb.ToString());
这一句错了,应该为 Console.WriteLine("你输入的性别为"+xb)这样就可以了,后边就不用再转了,
前边这句xb = (xingbie)(Enum.Parse(typeof(xingbie),x));
已经把字符串类型转为了枚举类型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马