C#枚举案例
2022/1/4 22:05:38
本文主要是介绍C#枚举案例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、普通调用
public enum NoticeType { Notice = 'A', LabRule = 'H', HotInformation = 'N', Column = 'C', All = '1', Null = '0' } private void button1_Click(object sender, EventArgs e) { //新建枚举类型 NoticeType noticeType1 = NoticeType.Column; //把枚举类型转换为string d="Column" string d = noticeType1.ToString(); //取得枚举类型的基数 'C' char dd = (char)noticeType1; //通过基数取得对应的枚举类型 NoticeType noticeType2 = (NoticeType)Char.Parse("A");//Notice //通过名称取得枚举类型 NoticeType noticeType3 = (NoticeType)Enum.Parse(typeof(NoticeType), "Notice"); }
二、获取描述信息
[Description("会员等级")] enum MemberLevel { [Description("金牌会员")] gold = 1, [Description("银牌会员")] silver = 2, [Description("铜牌会员")] copper = 3 } /// <summary> /// /// </summary> /// <param name="value">枚举值</param> /// <param name="isTop">是否是顶级标题的描述信息</param> /// <returns></returns> public static string GetDescription(this Enum value, bool isTop = false) { Type enumType = value.GetType(); DescriptionAttribute attr = null; if (isTop) { attr = (DescriptionAttribute)Attribute.GetCustomAttribute(enumType, typeof(DescriptionAttribute)); } else { // 获取枚举常数名称。 string name = Enum.GetName(enumType, value); if (name != null) { // 获取枚举字段。 FieldInfo fieldInfo = enumType.GetField(name); if (fieldInfo != null) { // 获取描述的属性。 attr = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) as DescriptionAttribute; } } } if (attr != null && !string.IsNullOrEmpty(attr.Description)) return attr.Description; else return string.Empty; }
调用
MemberLevel gold = MemberLevel.gold; Console.WriteLine(gold.GetDescription()); System.Console.Read();
这篇关于C#枚举案例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#