Login
Инициализация массива в С#
82
NEW 03.01.07 16:58
Имею код вида:
public enum EOperationType { Stop=101, Copy, Pop, None }
private static int[,] operationsTable = new int[,]
{
{ (int)ENavigationObjectType.End, (int)ENavigationObjectType.End, (int) EOperationType.None },
{ (int)ENavigationObjectType.End, (int)ENavigationObjectType.Servers, (int) EOperationType.Stop },
....
}
ENavigationObjectType почти такой же enum как и EOperationType.
Проблема - хочется иметь статическую инициализацию без приведения к int.
Есть у кого идеи как обойти приведение?
NEW 03.01.07 19:15
in Antwort Murr 03.01.07 16:58
В ответ на:
21.5 Enum values and operations
Each enum type defines a distinct type; an explicit enumeration conversion (╖13.2.2) is required to convert between an enum type and an integral type, or between two enum types.
21.5 Enum values and operations
Each enum type defines a distinct type; an explicit enumeration conversion (╖13.2.2) is required to convert between an enum type and an integral type, or between two enum types.
03.01.07 23:48
in Antwort scorpi_ 03.01.07 19:15
Я не об этом.
Что все enum-типы разные - это нормально и что проверка выполняется во время компиляции - тоже.
Что не нормально - то, что не получается статически инициализировать массив enum-типа соответствующими enum-значениями, хотя конверсия выполняется без проблем.
Что все enum-типы разные - это нормально и что проверка выполняется во время компиляции - тоже.
Что не нормально - то, что не получается статически инициализировать массив enum-типа соответствующими enum-значениями, хотя конверсия выполняется без проблем.
NEW 04.01.07 08:22
in Antwort Murr 03.01.07 23:48
Да неужто? Эта строка прекрасно работает
private static EOperationType[] operationsTable = { EOperationType.None, EOperationType.Copy };