初学,请问一下,枚举可以转成String类,为什么String类不可以转成枚举的值。在线,急,加上100分

comnetcns 2007-08-29 10:28:19
enum TestEnum
{
Zero=0,One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
}

------------------
问题:
string s = TestEnum.Eight.ToString();//这样是可行的

//但是以下却不行??
string i="8";

TestEnum TE = (TestEnum)i;

这样为什么不行,请高手给说说
...全文
397 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dancer 2011-07-22
  • 打赏
  • 举报
回复
三楼的很好用啊
octverve 2007-08-29
  • 打赏
  • 举报
回复
来晚了~~,明明没有结贴的,一进来结贴了,真是~~~
fj527059008 2007-08-29
  • 打赏
  • 举报
回复
TestEnum first = (TestEnum)0;
comnetcns 2007-08-29
  • 打赏
  • 举报
回复
@amandag(高歌)

C#入门经典 是书名吗??如果是,我就买一本,在网上看的什么基本,什么入门都是粘MSDN的一些文章而已,真是害人
  

您回答我  C#入门经典 是书名吗??  完事我就结贴。
amandag 2007-08-29
  • 打赏
  • 举报
回复
C#入门经典上就有这段解释..

要获得枚举的字符串值,可以使用Convert.ToString()或变量本身的ToString()命令,直接使用(string)数据类型转换时不行的,因为需要进行的处理并不仅仅是把存储在枚举变量的数据放在string变量中。
如果要把string转换为枚举值,可以使用Enum.Parse()进行转换,其使用方式如下:
(enumerationType)Enum.Parse(typeof(enumerationType), enumerationValueString)
string myString = "NORTH";
myDirection = (Orientation)Enum.Parse(typeof(Orientation), myString);
当然,因为并不是所有的字符串值都可以映射为一个Orientation值。如果一个值不能映射为枚举值中的一个,就会产生一个错误,与C#中的其他值一样,这些值是区分大小写的。
comnetcns 2007-08-29
  • 打赏
  • 举报
回复
看看别人的贴子,就结分,Jinglecat非常可能是满分,如果winner2050不说明他那句是什么意思的话
comnetcns 2007-08-29
  • 打赏
  • 举报
回复
Jinglecat

         谢谢啊,回得也太快了,还以为要等个把小时呢,一百分,就这样没了,但是也值了,我找了两个多小时,也没有解决
comnetcns 2007-08-29
  • 打赏
  • 举报
回复
数据类型要一致。???

怎么说的??听着晕晕的,要是一致,我还费事转它干什么??
honey52570 2007-08-29
  • 打赏
  • 举报
回复
mark
winner2050 2007-08-29
  • 打赏
  • 举报
回复
数据类型要一致。
Jinglecat 2007-08-29
  • 打赏
  • 举报
回复
// 等价字符串名称
string str = "One";
TestEnum _one = (TestEnum)Enum.Parse(typeof(TestEnum), str);

// 等价字符串值
int n = 1;
TestEnum _one2 = (TestEnum)n;
// OR
TestEnum _one3 = (TestEnum)Enum.Parse(typeof(TestEnum), n.ToString());
comnetcns 2007-08-29
  • 打赏
  • 举报
回复
十点多,CSDN就没人了,有点吓人——————————————————————
comnetcns 2007-08-29
  • 打赏
  • 举报
回复
我想知道,如何把数字转换成相应的枚举值对象,该如何作呢??

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧