enum City
{
北京 = 1,
南京 = 2,
}Label1.Text = City.南京.ToString("D");这时Label1显示1
我现在有一个字符变量 string strCity我要根据strCity的值来让Label1显示不同的值,如果为南京则显示1,北京则显示2我试了用 Label1.Text = City.strCity.ToString("D"); 没得用不要用 select case ,因为实际数据有好多.一个一个判断会累死就是这个意思,多谢!

解决方案 »

  1.   

    City a = City.南京;
    Label1.Text = a.ToString();
      

  2.   

    我就是 City. 这个点后面的东东不确定呀?string strCity = 南京;怎么根据这个字符方便地取出它在枚举中的值?
      

  3.   

    City a = City.南京;
    //Label1.Text = a.ToString(); //得到 南京
    Label1.Text = ((int)a).ToString(); //得到2
      

  4.   

    City i;
    string str1 = "南京";for( i=City.连云港 ;i<City.盐城 ;i++)
    {
    if(i.ToString()== str1)
    {
    Label1.Text = ((int)i).ToString();
    }
    }注意你的 连云港 = 1, 盐城 = 13
    分别是你的 第一个 和 最后一个 
    //我的代码适合你当前的状态
      

  5.   

    呵呵,我不是这个意思enum City
    {
    北京 = 1,
    南京 = 2,
    上海 = 3,
    ...
    }string strCity = TextBox1.Text;
    Label1.Text = City.???.ToString("D");我这里要根据 TextBox1 的值来显示相应的值,用 select case 也可以做到,但那样太烦了,我现在已经定义成枚举了,就是希望有个简单的方法来得到与城市对应的值。
    多谢!
      

  6.   

    呵呵,刚才那个贴子没看到你上面发的,现在意思对了,谢谢:)不过这个只能适用于我这个枚举值,还有其它的也要一个一个写?
    能不能通用一点的?最好象
    City.???.ToString()
    State.???.ToString()
    这样简单才好:)
      

  7.   

    为什么不用Hashtable,你可以这样一来输入啊
    Hashtable ht = new Hashtable();
    ht.Add("连云港", 1);
    .....
    使用更方便
      

  8.   

    使用 Hashtable
    要占用空间
      

  9.   

    string str1 = "南京";
    Label1.Text  = ((int)Enum.Parse( typeof(City) ,str1)).ToString();
    //这样处理更好 呵呵 
    //自己好好看看 Enum.Parse()吧