.net 自动打印枚举值 (可以兼容16进制的枚举值)

相关背景:产品中有大量的枚举值,而且相当一部分是16进制的定义,但是我们对应的 DB中存储的对应的是10进制的数值。

一个一个来算,比较费时,而且相当麻烦。因此,有了下面这个工具,可以批量瞬间生成某个枚举对应的项与值(10进制的数值)。非常方便,节省时间。


//using System;

using System;
using System.Collections.Generic;
using System.ComponentModel;
//using System.Data;
//using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
//using System.Windows.Forms;

//using System.Collections.Generic;
//using System.Text;

 
public class Test
{
	public static void Main()
	{
		//string str;
		//str="hi,您好吧";
		//Console.WriteLine(str);
		
		//string s = PrintEnumValue2<BodyExerciseStrength>();
		//Console.WriteLine(s);
		
	    
	    PrintEnumValue2<BodyExerciseStrength>();
		
	}
	
  
   
   
    public enum BodyExerciseStrength
    {
        /// <summary>
        /// The unknown
        /// </summary>
       
        Unknown = 0,
        /// <summary>
        /// The slight
        /// </summary>
       
        Light = 0x10,
        /// <summary>
        /// The medium
        /// </summary>
       
        Medium = 0x20,
        /// <summary>
        /// The heavy
        /// </summary>
        Heavy = 0x30

    }
    
    public enum AppPlatform
    {

        /// <summary>
        /// 未知
        /// </summary>
       
        none = 0,

        /// <summary>
        /// ANDROID
        /// </summary>
       
        ANDROID,

        /// <summary>
        /// IOS
        /// </summary>
        
        IOS

    }
    
    
    
    
     
     
     
       public static string PrintEnumValue2<T>()
       {
           #region ### test enum values

           Type item = typeof(T);
           Array Arrays_name = Enum.GetNames(item);
           Array Arrays = Enum.GetValues(item);

           StringBuilder sb = new StringBuilder();
           
           string sTitle= item.ToString();
           int iPos = sTitle.IndexOf("+");
 
           sTitle =  sTitle.Substring(iPos + 1);
     
           sb.AppendLine("//==" + sTitle + "==");
           for (int i = 0; i < Arrays.LongLength; i++)
           {

               sb.Append("  " + Arrays_name.GetValue(i) + ":");
               sb.Append((int)Arrays.GetValue(i));
               sb.AppendLine();
           }

           string sResult = sb.ToString();

           Console.WriteLine(sResult);

           #endregion

           return sResult;
       }

   
    
}

运行结果:


//BodyExerciseStrength:

  Unknown:0
  Light:16
  Medium:32
  Heavy:48


 源代码: http://www.mcqyy.com/RunCode/csharp/#id/aaed2e056e4823c39c9b4e69105cef83


(结束)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值