可能重复:
为什么枚举需要显式转换为 int 类型?
我定义了这个枚举:
public enum GroupTypes : int
{
gt_table0 = 0
gt_table1 = gt_table0 + 1,
gt_table2 = gt_table1 + 1,
gt_table3 = gt_table2 + 1,
gt_table4 = gt_table3 + 1,
gt_table5 = gt_table4 + 1,
gt_table6 = gt_table5 + 1,
gt_table7 = gt_table6 + 1,
gt_table8 = gt_table7 + 1
}
然后我使用这个枚举如下:
for (int i = 0; i < NbrTables; i++)
{
// Compute starting table
int StartGroup = GroupTypes.gt_table0 + i;
// Some more code here
}
我感到困惑的是,当我使用枚举来计算我的 StartGroup 时,我收到错误“无法将类型 'GroupTypes' 隐式转换为 'int'。存在显式转换”。
我认为我会避免这个错误,因为我将 GroupTypes 枚举声明为 int。
我的误解在哪里?