资讯详情

C#遍历枚举类型成员(枚举成员是带数字类型的),获取和设置其值

例如,我有一个枚举类型BW 里面有BW1~BW在外面输入700个数字,只要数字是1、3、5、7、10、30、50、70、100、500、700,就可以转换成相应的枚举类型。

例如枚举变量BW bw,输入50,找到相应的BW50枚举项(即bw=BW.BW50),特定应用。

public enum BW {         BW1=0,         BW3=1,         BW5=2,         BW7=3,         BW10=4,         BW30=5,         BW50=6,         BW70=7,         BW100=8,         BW300=9,         BW500=10,         BW700=11, }    

采用转化,遍历BW枚举成员获得其成员名称BW_XXX,用正则表达式去除非数字部分,转化为纯数字,用于判断外部输入的数字。如果在1、3、5、7、10、30、50、70、100、500、700中,则使用Enum.Parse(typeof(BW),perName)获取相应的枚举项,并提供给SetBW函数用作参数。

public void SetBandWith(double para) {         foreach(string perName in Enum.GetValues(typeof(BW)))         {                  string strValue = System.Text.RegularExpressions.Regex.Replace(perName,@"[^0-9] ","0");                 int bandWidht = Convert.ToInt32(strValue);                 if(bandWidth == (int)para)                 {                     SetBW(Enum.Parse(typeof(BW),perName));                 }         } }  public void SetBW(BW bw) { //... }   

系统中设置的枚举类型BW变量 localBW,例如,将其枚举项对应的数字转换数字,localBW = BW.BW将700转化为700值

public double GetBandWith(BW localBW) {         string name = Enum.GetName(typeof(BW),localBW);         string strValue = System.Text.RegularExpressions.Regex.Replace(name,@"[^0-9] ","");         return Convert.ToDouble(strValue); } 

标签: 矩形连接器j9bw10t

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台