重複の可能性:
列挙型が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として宣言したので、このエラーを回避できると思いました。
私の誤解はどこにありますか?