Инициализация массива структур: Array initializers can only be used in a variable or field initializer - C#

Узнай цену своей работы

Формулировка задачи:

В С++ можно создать массив стркутур и тут же ее проинициализировать:
 
struct AmplPalette
        {
            double Ampl;
            int R;
            int G;
            int B;
        }
 
const AmplPalette palette[] = 
            {
                {12.0, 0, 0, 140},
                {18.0, 0, 0, 196},
                {21.0, 38, 143, 224},
                {26.0, 1, 252, 239},
                {30.0, 0, 206, 0},
                {35.0, 23, 255, 23},
                {39.0, 255, 255, 0},
                {42.0, 128, 0, 0},
                {45.0, 232, 0, 0}
            };
Пытаюсь тоже самое сделать на C#:
       public struct AmplPalette 
        {
            public double Ampl;
            public int R;
            public int G;
            public int B;
        }
 
        public Color GetAmplToColor(double ampl)
        {
            const AmplPalette [] palette = 
            {
                {12d, 0, 0, 140},
                {18d, 0, 0, 196},
                {21d, 38, 143, 224},
                {26d, 1, 252, 239},
                {30d, 0, 206, 0},
                {35d, 23, 255, 23},
                {39d, 255, 255, 0},
                {42d, 128, 0, 0},
                {45d, 232, 0, 0}
            };
        }
Выдает: "Array initializers can only be used in a variable or field initializer. Try using a new expression instead." Как проще всего реализовать инициализацию?

Решение задачи: «Инициализация массива структур: Array initializers can only be used in a variable or field initializer»

textual
Листинг программы
new[] {
             new MyStruct ("a", 1),
             new MyStruct ("b", 5),
             new MyStruct ("q", 29)
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.6 из 5
Похожие ответы