您的位置:首页 > 其它

使用枚举

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

假设有枚举类型

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;
就是说我们可以对枚举值和对应的整数间进行任意的强制转换,以满足我们的需要。

上面的代码在枚举值发生变化时,比如新增了货币单位,都不用改动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: