Объявить константный массив - PullRequest
403 голосов
/ 28 февраля 2011

Можно ли написать что-то похожее на следующее?

public const string[] Titles = { "German", "Spanish", "Corrects", "Wrongs" };

Ответы [ 13 ]

2 голосов
/ 28 февраля 2011

Полагаю, вы можете сделать это только для чтения.

1 голос
/ 28 февраля 2011

Массивы, вероятно, являются одной из тех вещей, которые могут быть оценены только во время выполнения.Константы должны быть оценены во время компиляции.Попробуйте использовать «только для чтения» вместо «const».

0 голосов
/ 23 сентября 2015

В качестве альтернативы, чтобы обойти проблему элементов, которые могут быть изменены с массивом только для чтения, вы можете вместо этого использовать статическое свойство.(Отдельные элементы все еще можно изменить, но эти изменения будут внесены только в локальную копию массива.)

public static string[] Titles 
{
    get
    {
        return new string[] { "German", "Spanish", "Corrects", "Wrongs"};
    }
}

Конечно, это не будет особенно эффективно при создании нового массива строккаждый раз.

...