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

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

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

В С++ можно создать массив стркутур и тут же ее проинициализировать:
Листинг программы
  1. struct AmplPalette
  2. {
  3. double Ampl;
  4. int R;
  5. int G;
  6. int B;
  7. }
  8. const AmplPalette palette[] =
  9. {
  10. {12.0, 0, 0, 140},
  11. {18.0, 0, 0, 196},
  12. {21.0, 38, 143, 224},
  13. {26.0, 1, 252, 239},
  14. {30.0, 0, 206, 0},
  15. {35.0, 23, 255, 23},
  16. {39.0, 255, 255, 0},
  17. {42.0, 128, 0, 0},
  18. {45.0, 232, 0, 0}
  19. };
Пытаюсь тоже самое сделать на C#:
Листинг программы
  1. public struct AmplPalette
  2. {
  3. public double Ampl;
  4. public int R;
  5. public int G;
  6. public int B;
  7. }
  8. public Color GetAmplToColor(double ampl)
  9. {
  10. const AmplPalette [] palette =
  11. {
  12. {12d, 0, 0, 140},
  13. {18d, 0, 0, 196},
  14. {21d, 38, 143, 224},
  15. {26d, 1, 252, 239},
  16. {30d, 0, 206, 0},
  17. {35d, 23, 255, 23},
  18. {39d, 255, 255, 0},
  19. {42d, 128, 0, 0},
  20. {45d, 232, 0, 0}
  21. };
  22. }
Выдает: "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
Листинг программы
  1. new[] {
  2.              new MyStruct ("a", 1),
  3.              new MyStruct ("b", 5),
  4.              new MyStruct ("q", 29)
  5.         }

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


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

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

15   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы