场景

有时会遇到使用枚举类型的时候。

比如传递过来一个int的list,要根据这个list将对应的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;
}
}