使用枚举类型默认的ToString()方法,往往不能得到我们想要的输出的字符串。
如何方便的定义枚举类型中的每个值代表的字符串输出呢?
可以使用DescriptionAttribute, 写上想得到的字符串输出。

enum Direction
{[Description("Rover is facing to UP (Negtive Y)")]UP = 1,[Description("Rover is facing to DOWN (Positive Y)")]DOWN = 2,[Description("Rover is facing to RIGHT (Positive X)")]RIGHT = 3,[Description("Rover is facing to LEFT (Negtive X)")]LEFT = 4
}; 

使用下面的方法,来得到对应项的字符串。

/// <summary>/// Contains methods for working with <see cref="Enum"/>./// </summary>public static class EnumHelper{/// <summary>/// Gets the specified enum value's description./// </summary>/// <param name="value">The enum value.</param>/// <returns>The description or <c>null</c>/// if enum value doesn't have <see cref="DescriptionAttribute"/>.</returns>public static string GetDescription(this Enum value){var fieldInfo = value.GetType().GetField(value.ToString());var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute),false);return attributes.Length > 0? attributes[0].Description: null;}/// <summary>/// Gets the enum value by description./// </summary>/// <typeparam name="EnumType">The enum type.</typeparam>/// <param name="description">The description.</param>/// <returns>The enum value.</returns>public static EnumType GetValueByDescription<EnumType>(string description){var type = typeof(EnumType);if (!type.IsEnum)throw new ArgumentException("This method is destinated for enum types only.");foreach (var enumName in Enum.GetNames(type)){var enumValue = Enum.Parse(type, enumName);if (description == ((Enum)enumValue).GetDescription())return (EnumType)enumValue;}throw new ArgumentException("There is no value with this description among specified enum type values.");}}

进一步了解.net中的Attribue

转载于:https://www.cnblogs.com/JustRun1983/archive/2012/06/22/2559073.html

枚举类型转换成字符串相关推荐

  1. python转化成字符串_如何利用Python将其他数据类型转换成字符串类型

    Python设计语言中有一类常用的数据类型:字符串数据类型.字符串数据类型定义的变量可以使用双引号或单引号将字符括起来,除了字符串数据类型,还有其他的数据类型,如整型.布尔型.列表.字典.元组.可以将 ...

  2. linux中数字转换成字符,各种数字类型转换成字符串型

    各种数字类型转换成字符串型--JAVA 各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成 ...

  3. 数字类型转换成字符串类型并逆序输出

    比如将a = 123456转换成字符串类型,并逆序输出为char b = 654321 具体实现如下: #include <stdio.h> #include <conio.h> ...

  4. oracle long类型转换成字符串_数值类型在计算机中的保存形式以及类型转换的思考和尝试...

    数值分为整型和浮点型两大块.不管是哪种类型,在计算机中都是按二进制形式存储,只有0 和1 两种符号.基本数据类型byte .short .int .long .float .double .常量有整型 ...

  5. SQL Server 使用CONVERT()函数实现日期类型转换成字符串类型的日期格式,支持多种日期格式

    1 使用详解 CONVERT() 说明:把日期转换为新数据类型的通用函数,可以用不同的格式显示日期/时间数据. 语法: CONVERT(data_type(length),data_to_be_con ...

  6. java数字转换成字符串

    各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成各种数字类型: String s = & ...

  7. php将变量转成字符串类型

    strval 将变量转成字符串类型. 语法: string strval(mixed var); 返回值: 字符串 函数种类: PHP 系统功能 内容说明: 本函数可将数组及类之外的变量类型转换成字符 ...

  8. php 将整数改成字符串,php怎么将整型转为字符串

    php中整型转为字符串的方法:1.使用强制类型转换,在要转换的整型变量之前加上用括号括起来的目标类型"(string)"即可:2.使用strval()函数,语法格式"st ...

  9. 前端 js 将字符串类型转换成其他类型

    方法一 eval(argStr) 函数,一般传入任何参数都能强转成对应类型.如果想把参数先转成字符串再使用 eval 转成真实类型,可以使用 String() 函数进行强转,String(argObj ...

最新文章

  1. JavaScript instanceof 运算符深入剖析
  2. 一篇文章让你轻松搞定SpringBoot和SpringCloud之间的版本选择!!!
  3. linux红帽子桌面模式ftp,Linux操作系统配置Vsftp的方法
  4. 黑苹果挂载不了分区_让黑苹果变得更完美——BCM94532HMB无线蓝牙接力完美驱动!...
  5. linux 读取文件夹命令,Linux系统编程_1_文件夹读取(实现简单ls命令)
  6. ubuntu之apache正向代理及反向代理(ProxyPass\ProxyPassReverse)
  7. Go:获取命令行参数
  8. python将列表写入文件_Python将列表数据写入文件(txt, csv,excel)
  9. 常用 shell sql 命令
  10. CentOS向日葵安装
  11. NAL聚合包(STAP-A)
  12. python面向对象编程指南 豆瓣_Python面向对象编程
  13. 利用HTML+CSS,写出一个正方体并实现透视效果
  14. Heka的一些计算过程数据存放目录
  15. 商业智慧:创造奇迹的信件
  16. C语言实现大整数乘法
  17. 微信获取信息用户登录报错redirect_uri域名与后台配置不一致,错误码10003
  18. Psychtoolbox刺激呈现方式
  19. 计算机主机风扇声音大的原因,电脑电源风扇声音大的原因与解决办法
  20. 学Python该看什么书?12本精华好书推荐!

热门文章

  1. SpringCloudConfig配置中心读取本地配置文件
  2. Android开发笔记(十四)圆弧进度动画CircleAnimation
  3. Xshell上传文件【转】
  4. 学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
  5. mysql数据的表分区二
  6. 迅雷BT下载电影99.9%不动原地循环解决方案
  7. oracle 10g 创建只读用户语法
  8. 中无法打开源文件_Safari浏览器无法打开,如何解决Safari在Big Sur中崩溃的情况...
  9. python文件操作的方法_python文件操作的方法介绍
  10. sftp 安全文件传输