Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么int.Parse对枚举值不起作用?_C#_.net - Fatal编程技术网

C# 为什么int.Parse对枚举值不起作用?

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

你能告诉我第一行怎么转换成int,第二行怎么不工作吗

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
用于将数字的字符串表示形式解析为整数。