慎用Enum的ToStringEnum.ToString() 由 .NET Compact Framework 支持。
将此实例的值转换为其等效的字符串表示。 我们常在开发中常用到自定义枚举类型,在某些情况下会用到ToString方法使开发变的便捷
举例: enum MyEnum
{
Red,
Blue,
Green
}
==========================================================
String prefix = "Prefix";
String postfix = "Postfix";
// tmpEnum 为枚举变量
MyEnum tmpEnum = MyEnum.Red;
String result = prefix + tmpEnum.ToString() + postfix;
这样就可以轻易的组合出所需要的string,但是我们没考虑如下情况:
当程序发布时,要对程序进行混淆处理的,如果该枚举为非public的话,就会被混淆器处理,变成象下面的代码:
enum A
{
a,
b,
c
}
所以在需要用的枚举类型的ToString方法的时候,最好定义一个转换函数,如下:
string MyEnumToString(MyEnum val)
{
string tmpStr = string.Empty;
switch(val)
{
case MyEnum.Red:
tmpStr = "Red";
break;
…...
}
return tmpStr;
}
将此实例的值转换为其等效的字符串表示。 我们常在开发中常用到自定义枚举类型,在某些情况下会用到ToString方法使开发变的便捷
举例: enum MyEnum
{
Red,
Blue,
Green
}
==========================================================
String prefix = "Prefix";
String postfix = "Postfix";
// tmpEnum 为枚举变量
MyEnum tmpEnum = MyEnum.Red;
String result = prefix + tmpEnum.ToString() + postfix;
这样就可以轻易的组合出所需要的string,但是我们没考虑如下情况:
当程序发布时,要对程序进行混淆处理的,如果该枚举为非public的话,就会被混淆器处理,变成象下面的代码:
enum A
{
a,
b,
c
}
所以在需要用的枚举类型的ToString方法的时候,最好定义一个转换函数,如下:
string MyEnumToString(MyEnum val)
{
string tmpStr = string.Empty;
switch(val)
{
case MyEnum.Red:
tmpStr = "Red";
break;
…...
}
return tmpStr;
}
解决方案 »
- 为什么用invalidate函数屏幕会不断地闪烁
- 怎样判断另一个窗体已经关闭了??
- 应用资源的问题??
- GUID 构造函数 异常 太奇怪了!!
- 线程问题
- ASP.NET页面采用AJAX.NET技术来实现分页,上传到服务器之后发现“Presell未定义”错误
- 怎么在C#2005下向水晶报表传递参数
- 在线等啊,大家帮忙看下
- 编译后安装到其他机子。程序提示:failed to load resources from resource file please check your setup,请问是什么原因!?谢谢1
- 高分相送:把XML的转化为TREEVIEW形式,在线等!
- 在CSDN上,结帖子的时候,把鼠标放上面会显示一个黄色的框框.怎么弄的啊
- 释放内存
因为枚举是基于整形数的,用来得到整形数是有的
用来得到字符串,就感觉很难怪异了~