我现在想做一个登陆的Form,登陆类型在comboBox中都是汉字的..我想使用一个枚举    public enum Users
    {
        普通用户,
        其它管理员,
        超级管理员
    }这样感觉不太好,可以用别的方法实现吗?比方说管理员用admin但是转换到comboBox中会显示为超级管理员?

解决方案 »

  1.   

    就是这么两三个选项的话 直接 写 if else判断就可以了啊加了枚举 还需要转换类型的
      

  2.   

    可以说一下实现的方法吗? IF ELSE 在什么地方判断??? 可以得到这种结果吗(string)users.admin 返回 "管理员"字符串??
      

  3.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace NS.Entity
    {
        /// <summary>
        /// 查询时用到的用户状态枚举
        /// </summary>
        public enum UserStatus
        {
            /// <summary>
            /// 用户处于被禁用状态
            /// </summary>
            Forbidden=1,
            /// <summary>
            /// 用户处于被启用状态
            /// </summary>
            Active=2,
            /// <summary>
            /// 查询所有用户,此值不可作为类属性值设置,仅用于查询
            /// </summary>
            All=3
        }
        /// <summary>
        /// 查询时用到的分类状态枚举
        /// </summary>
        public enum CatalogStatus
        {
            /// <summary>
            /// 栏目被禁用
            /// </summary>
            Forbidden = 1,
            /// <summary>
            /// 栏目处于启用状态
            /// </summary>
            Active = 2,
            /// <summary>
            /// 所有状态的栏,此值不可作为类属性值设置,仅用于查询
            /// </summary>
            All = 3
        }
        /// <summary>
        /// 查询时用到的文章状态
        /// </summary>
        public enum ArticleStatus
        {
            /// <summary>
            /// 栏目处于隐藏状态
            /// </summary>
            Forbidden = 1,
            /// <summary>
            /// 文章处于可见状态
            /// </summary>
            Active = 2,
            /// <summary>
            /// 所有状态的文章,此值不可作为类属性值设置,仅用于查询
            /// </summary>
            All = 3
        }
        /// <summary>
        /// 查询的排序方式,如升序或者降序
        /// </summary>
        public enum OrderBy
        {
            /// <summary>
            /// 按照升序排列
            /// </summary>
            ASC=1,
            /// <summary>
            /// 按照降序排列
            /// </summary>
            DESC=2
        }
    }
      

  4.   

    虽然用中文编译没有问题,但是让人感觉很别扭,我习惯采用英文命名,使用中文XML注释,类似我上面的代码。
      

  5.   

    第一种
    if(comboBox.SelectedIndex==1)
    {
           普通用户
    }
    else if(comboBox.SelectedIndex==2)
    {
            其它管理员
    }
    else
    {
           超级管理员
    }第二种
    if(comboBox.SelectedText=="普通用户")
    {
          普通用户
    }
    else if(comboBox.SelectedText=="其它管理员")
    {
          其它管理员
    }
    else
    {
          ......
    }
      

  6.   

    做个关联不就可以了。我忘记了C#代码是不是这样写的,大概意思意思,如果概念搞错,写错就算我出丑一下。哈哈
    搞得语言太多,很容易串门的。哎    public enum UserLv
        {
            Default=0,
            Manager=1,
            Admin=2
        }
        
        public class User
        {
            ///......
            public User(UserLv){
                
            }
            String[] ArrayStrLvName = {"普通用户",
            "其它管理员",
            "超级管理员"
    }
            ///层次名字
            public string UserLvName
            {
               get{ return ArrayStrLvName[UserLv];}
            }
        }
      

  7.   

    算了还是严禁点,不然误导新人就麻烦了public enum UserLv
        {
            Default=0,
            Manager=1,
            Admin=2
        }
        
        public class User
        {
            ///......
            UserLv userLv;
            public User(UserLv userLv)
            {
                this.userLv = userLv
            }
            String[] ArrayStrLvName = {"普通用户",
            "其它管理员",
            "超级管理员"};        ///层次名字
             public string UserLvName
            {
               get{ return ArrayStrLvName[(int)userLv];}
            }
        }
      

  8.   

    试试这个吧!!using System;public class GetNameTest {
        enum Colors { Red, Green, Blue, Yellow };
        enum Styles { Plaid, Striped, Tartan, Corduroy };    public static void Main() {        Console.WriteLine("The 4th value of the Colors Enum is {0}", Enum.GetName(typeof(Colors), 3));
            Console.WriteLine("The 4th value of the Styles Enum is {0}", Enum.GetName(typeof(Styles), 3));
        }
    }
    System.Enum 类
      

  9.   

    在DataGridView上有个cellFormating事件来设置那一列的值