Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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?_C#_Asp.net Mvc - Fatal编程技术网

C# 如何设置值类型int?

C# 如何设置值类型int?,c#,asp.net-mvc,C#,Asp.net Mvc,我需要设置int值。这是怎么做的 var list = from Enum e in Enum.GetValues(enumValue.GetType()) select new SelectListItem { Selected = e.Equals(enumValue), Text = e.ToDescription(), Value = e.ToSt

我需要设置int值。这是怎么做的

    var list = from Enum e in Enum.GetValues(enumValue.GetType())
           select new SelectListItem
           {
               Selected = e.Equals(enumValue),
               Text = e.ToDescription(),
               Value = e.ToString()// need int
           };
如果我设置
Value=((int)e).ToString()

我得到一个错误:

无法将类型“System.Enum”转换为“int”

在C#中,枚举可以转换为int:

 Value = ((int)e).ToString()

也就是说,只要基础类型是int或可转换为int。

在C#中,枚举可以转换为int:

 Value = ((int)e).ToString()

只要基础类型是int或可转换为int。

转换为
int
并从中获取字符串:

Value = ((int)e).ToString()
所有枚举都基于整数类型,因此强制转换是最简单的解决方案(尽管如果枚举基于
,则可能会出现溢出)

此外,从
Enum.GetValues
返回的类型是枚举的值-您的LINQ应该是:

from e in Enum.GetValues(enumValue.GetType())

由于
e
将不是类型
Enum

转换为
int
并从中获取字符串:

Value = ((int)e).ToString()
Value = Convert.ToInt32(e.ToString())
所有枚举都基于整数类型,因此强制转换是最简单的解决方案(尽管如果枚举基于
,则可能会出现溢出)

此外,从
Enum.GetValues
返回的类型是枚举的值-您的LINQ应该是:

from e in Enum.GetValues(enumValue.GetType())
由于
e
将不是
Enum

类型,您可以尝试使用

Value = Convert.ToInt32(e.ToString())
(int)YourEnum.enumValue; 

你可以试试看

(int)YourEnum.enumValue; 


您可以通过将枚举强制转换为int类型来直接转换它。

您可以通过将枚举强制转换为int类型来直接转换它。

((int)e).ToString()
试试这个
((int)e).ToString()
试试这个,只要基础类型是
int
或可转换为
int
。不要忘记
SelectListitem。Value
字符串
。也就是说,只要基础类型是
int
或可转换为
int
。不要忘记
SelectListitem。Value
字符串