C# 枚举转字符串

有时候需要把枚举转字符串,那么如何把枚举转字符串?

枚举转字符串

假如需要把枚举转字符串,可以直接把他进行转换,请看代码

        public enum Di
        {
            /// <summary>
            /// 轨道
            /// </summary>
            Railway,

            /// <summary>
            /// 河流
            /// </summary>
            River,
        }

        static void Main(string[] args)
        {
            Console.WriteLine(Di.Railway.ToString());
        }

这样就可以把枚举转字符串

除了这个方法,可以使用 C# 6.0 的关键字,请看代码

            Console.WriteLine(nameof(Di.Railway));

字符串转枚举

如果把一个枚举转字符串,那么如何把字符串转枚举?可以使用 Enum.Parse 不过这个方法可以会抛异常,所以使用需要知道字符串是可以转


        public enum Di
        {
            /// <summary>
            /// 轨道
            /// </summary>
            Railway,

            /// <summary>
            /// 河流
            /// </summary>
            River,
        }

             static void Main(string[] args)
        {
            string str = Di.Railway.ToString();
            Console.WriteLine(Enum.Parse(typeof(Di), str).ToString());
        }

欢迎大家来我的博客C# 枚举转字符串 ,博客园的博客作为备份


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

原文地址:https://www.cnblogs.com/lindexi/p/cs-enumtostring.html

时间: 2024-08-14 22:09:54

C# 枚举转字符串的相关文章

c++枚举转换为字符串

 enum EM_DEMO { EM_INDEX1 = 1, EM_INDEX2  = 2, EM_INDEX3  = 3, EM_INDEX4  = 4 } //多字节 #define _TXT__(x) #x #define EMTOSTR(EM) _TXT__(EM) //多字节或 unicode #define _TXT__(x) _T(#x) #define EMTOSTR(EM) _TXT__(EM) //调用案例 if ( _tcscmp( _T("EM_INDEX1"

枚举与字符串映射

代码: #import <Foundation/Foundation.h> typedef NS_ENUM(NSUInteger, NetworkStatus){ NetworkStatusGood = 0, NetworkStatusBad }; NSString * const NetworkStatusNameMapping[] = { [NetworkStatusGood] = @"NetworkStatusGood", [NetworkStatusBad] = @

转-C#让枚举返回字符串

下面的手段是使用给枚举项打标签的方式,来返回字符串 下面分别定义一个属性类,和一个枚举帮助类 [csharp] view plaincopyprint? [AttributeUsage(AttributeTargets.Field,AllowMultiple = false)] public sealed class EnumDescriptionAttribute : Attribute { private string description; public string Descripti

UVa140 Bandwidth 小剪枝+双射小技巧+枚举全排列+字符串的小处理

给出一个图,找出其中的最小带宽的排列.具体要求见传送门:UVa140 这题有些小技巧可以简化代码的编写. 本题的实现参考了刘汝佳老师的源码,的确给了我许多启发,感谢刘老师. 思路: 建立双射关系:从字符A到字符Z遍历输入的字符串,用strchr函数将输入中出现的字符找出,并将找出的字符进行编号,用letter和id分别存储字符和对应的编号 降维:输入中给出的,是类似于邻接表形式的二维形式,如果我们用二维数据结构,将增加处理时对于输出细节的处理难度,用 2个 vector将输出降低到1维,简化了计

c# 枚举返回字符串操作

//内部类public static class EnumHelper { public static string GetDescription(Enum value) { if (value == null) { throw new ArgumentException("value"); } string description = value.ToString(); var fieldInfo = value.GetType().GetField(description); va

OC习题 -- 切分字符串 处理色值和名称 (知识点: 字典,枚举,数组,字符串)

/* 处理工程文件crayons.txt中的文本信息,文本内容是关于颜色的,每行都是一 个颜色的信息,例如:Almond #EED9C4,前?一个字符串是颜色的名称,后一 个字符串是颜?色的16进制色值,处理?文本完成如下需求: 1.使用字典管理所有的颜色,即字典中存储的是多个键值对,颜?色名称为 key,16进制颜色值(不带#)是value. 2.取出所有的key,升序排列. 3.取出所有的value,按照排序后的key排列. 4.使?用一个新的字典管理颜色,对颜色进?行分类管理,即:“A”,

C++ 枚举转字符串

用#宏,见代码 #include <iostream> #define enum_to_string(x) #x enum sex { boy, girl, }; int main() { std::cout << enum_to_string(sex::boy) << std::endl; system("pause"); } 输出结果:

枚举与字符串转及RecordSet转XML,JSON

function AdoToJs(ado: TADOQuery): string; var I, J: Integer; json: string; begin json := '{columns:['; for I := 0 to ado.FieldCount - 1 do begin json := json + '{name:"' + ado.Fields[I].FieldName + '",type:"' + DbTypeToStr(ado.Fields[I].Dat

C# 获取与解析枚举类型的 DescriptionAttribute

原文:C# 获取与解析枚举类型的 DescriptionAttribute System.ComponentModel.DescriptionAttribute 这个 Attribute,经常被用来为属性或事件提供说明,这个说明是可以被本地化的.在一些用户界面中,就可以利用这个 Attribute 提供一些额外的信息,就像 Visual Studio 中所做的,如图 1 所示: 图 1 可以看到,对 AutoSizeMode 的说明,被显示在了下面的框中. 但是,界面中的枚举项就没这么好的待遇了