场景
有时会遇到使用枚举类型的时候。
比如传递过来一个int的list,要根据vb.net教程这个list将c#教程对应的chekbox选中。
首先新建一个类KillComponents
public enum KillComponents
{
/// <summary>
/// 上雾化器
/// </summary>
ShangWuHua = 1,
/// <summary>
/// 下雾化器
/// </summary>
XiaWuHua = 2,
/// <summary>
/// 上紫外线灯
/// </summary>
ShangZiWai = 3,
/// <summary>
/// 下紫外线灯
/// </summary>
XiaZiWai = 4,
/// <summary>
/// 升降柱
/// </summary>
ShengJiangZhu = 5,
/// <summary>
/// 空气净化器
/// </summary>
KongQiJingHua =6
}
实现
然后在传递参数后遍历这个list分别去每个int然后与枚举类型去比对。
foreach (int index in this._killSetModel.Components)
{
switch (index)
{
case (int)KillComponents.ShangWuHua :
this.CB_1.Checked = true;
break;
case (int)KillComponents.XiaWuHua:
this.CB_2.Checked = true;
break;
case (int)KillComponents.ShangZiWai:
this.CB_3.Checked = true;
break;
case (int)KillComponents.XiaZiWai:
this.CB_4.Checked = true;
break;
case (int)KillComponents.ShengJiangZhu:
this.CB_5.Checked = true;
break;
case (int)KillComponents.KongQiJingHua:
this.CB_6.Checked = true;
break;
}
}