C# 为什么int.Parse对枚举值不起作用?
你能告诉我第一行怎么转换成int,第二行怎么不工作吗C# 为什么int.Parse对枚举值不起作用?,c#,.net,C#,.net,你能告诉我第一行怎么转换成int,第二行怎么不工作吗 public enum SomeEnumerator { AndHisValue, second, third } int a = (int)(SomeEnumerator.AndHisValue); int a = int.Parse(SomeEnumerator.AndHisValue); 和其值的类型为字符串 如您在图像中所示,SomeEnumerator不是string类型,而是enum string常量用“在它们周围”表示。e
public enum SomeEnumerator { AndHisValue, second, third }
int a = (int)(SomeEnumerator.AndHisValue);
int a = int.Parse(SomeEnumerator.AndHisValue);
和其值的类型为字符串
如您在图像中所示,SomeEnumerator
不是string类型,而是enum
string
常量用“在它们周围”表示。enum
常量,例如SomeEnumerator。而他的值
是它们自己的值,每个值通常都有自己不同的值
您可以直接将任何enum
-值强制转换为int
或string
,但由于int.Parse()
需要字符串,因此不能在此处使用枚举器值
(参见作为枚举的参考)什么是“不工作”的意思?你不能将字符串转换成那样的整数,所以如果第一行有效,那么我不认为和他的值
真的是一个字符串。它不能从字符串转换,好吧-也许我应该这样问:我猜你是在枚举一个字符串,在这种情况下,你是在转换一个字符(整数类型)转换为int,但parse需要一个字符串。@gooscyora这不是枚举数,这是枚举,它们不同。默认情况下,枚举实际上只是int
,因此它们可以转换为int
int。parse
用于将数字的字符串表示形式解析为整数。