谁能告诉我为什么我需要从枚举中转换为Int
switch (Convert.ToInt32(uxView.SelectedValue))
{
case (int)ViewBy.Client:
如果我删除强制类型转换(int),它将失败,并说我必须使用强制类型转换。
这是我的枚举,枚举是整数。...有人知道吗?
public enum ViewBy
{
Client,
Customer
}
最佳答案
在C#中,enum
不仅仅是数字。相反,它们是与类型关联的数字或在上下文中具有名称的数字。
为了避免在case
语句中进行强制类型转换,可以在switch
中进行强制类型转换:
switch((ViewBy)Convert.ToInt32(uxView.SelectedValue))
但是,这有其自身的问题。例如,这段代码将
7
写到控制台。enum ViewBy
{
ChuckNorris = 1,
JamesBond
}
Console.WriteLine((ViewBy)7);