C# 如何设置值类型int?
我需要设置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
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
是字符串
。