使用枚举



枚举是非常有用的类型,我觉得使用枚举关键是做到: 枚举的值如果以后发生变化,务必保证我们只需要改动最少的地方,最好只改动一处。

假设有枚举类型

 public enum moneyEnum
    {
        人民币=1,
        美元=2,
        港元=3,
        欧元=4
    }

注意,.net中可以使用中文,这就方便多了

1. 动态邦定到DropDownList上

可以如下做:

public Class1
 {
  public static DataTable getMoneyUnits()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("text");
            dt.Columns.Add("value");
            foreach (moneyEnum item in Enum.GetValues(typeof(moneyEnum)))
            {
                DataRow dr = dt.NewRow();
                dr["text"] = item.ToString();
                dr["value"] = (int)item;
                dt.Rows.Add(dr);
            }
            return dt;
        }
}
               
 protected void Page_Load(object sender, EventArgs e)
    {
         if (!IsPostBack)
            {
              Datatable dt =Class1.getMoneyUnits();
               DropDownList1.DataTextField = dt.Columns["text"].ToString();
                DropDownList1.DataValueField = dt.Columns["value"].ToString();
             }
}


2. 动态的显示
   数据库表中存储的枚举值只是一个数字,如何动态的显示呢:
   
     TextBox1.Text = ((moneyEnum)int.Parse(dr["fundUnit"].ToString())).ToString() ;

注意到第一个问题中的 dr["value"] = (int)item;
就是说我们可以对枚举值和对应的整数间进行任意的强制转换,以满足我们的需要。

上面的代码在枚举值发生变化时,比如新增了货币单位,都不用改动。



转载于:https://www.cnblogs.com/waitrabbit/archive/2006/09/26/515213.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值