Оптимизировать раздутый код, изменить return - C#

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

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

Доброго здоровья заглянувшим в тему. Столкнулся с необходимостью переделать return. До определённого момента он меня устраивал, хоть и был громоздок и топорен. В нём я возвращаю (формирую JSON-объект) 96 экземпляров класса ManualState_Pot(), который подкласс класса ManualState(),
Листинг программы
  1. return new ManualState()
  2. {
  3. MS = new ManualState_Pot[]
  4. {
  5. new ManualState_Pot() { POT = 1, value = MAIN.StatArr[0][1], time = UnixTimeNow(), new_value = MAIN.StatArr[0][3]},
  6. new ManualState_Pot() { POT = 2, value = MAIN.StatArr[1][1], time = UnixTimeNow(), new_value = MAIN.StatArr[1][3]},
  7. new ManualState_Pot() { POT = 3, value = MAIN.StatArr[2][1], time = UnixTimeNow(), new_value = MAIN.StatArr[2][3]},
  8. ...
  9. ...
  10. new ManualState_Pot() { POT = 95, value = MAIN.StatArr[94][1], time = UnixTimeNow(), new_value = MAIN.StatArr[94][3]},
  11. new ManualState_Pot() { POT = 96, value = MAIN.StatArr[95][1], time = UnixTimeNow(), new_value = MAIN.StatArr[95][3]}
  12. }
  13. };
Теперь появилась необходимость формировать 12 таких массивов (96 элементов по 4 в каждом), и выбрав один - возвращать. Хотел организовать в ретёрне такой цикл:
Листинг программы
  1. return new ManualState()
  2. {
  3. MS = new ManualState_Pot[]
  4. {
  5. for (int p = 1; p < 97; p++)
  6. {
  7. new ManualState_Pot() { POT = p, value = MAIN.StatArr[p-1][1], time = UnixTimeNow(), new_value = MAIN.StatArr[p - 1][3]};
  8. };
Но компилятор ругается на непонятное: просит поставить запятую, открыть и закрыть фигурные скобки там, где они уже есть, условия цикла вообще недостижимый код... Прошу помощи у знатоков, что не так делаю и как сделать правильно?!

Решение задачи: «Оптимизировать раздутый код, изменить return»

textual
Листинг программы
  1. var manualState = new ManualState();
  2.  
  3. var msList = new List<ManualState_Pot>();
  4.  
  5. for (int p = 1; p < 97; p++)
  6. {
  7.     msList.Add(new ManualState_Pot()
  8.                     {
  9.                        POT = p,
  10.                        value = MAIN.StatArr[p-1][1],
  11.                        time = UnixTimeNow(),
  12.                        new_value = MAIN.StatArr[p - 1][3]
  13.                      }
  14.                      );
  15. };
  16.  
  17. manualState.MS = msList.ToArray();
  18.  
  19. return manualState;

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


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

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

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

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

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

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