Оптимизировать раздутый код, изменить return - C#
Формулировка задачи:
Доброго здоровья заглянувшим в тему.
Столкнулся с необходимостью переделать return. До определённого момента он меня устраивал, хоть и был громоздок и топорен. В нём я возвращаю (формирую JSON-объект) 96 экземпляров класса ManualState_Pot(), который подкласс класса ManualState(),
Теперь появилась необходимость формировать 12 таких массивов (96 элементов по 4 в каждом), и выбрав один - возвращать. Хотел организовать в ретёрне такой цикл:
Но компилятор ругается на непонятное: просит поставить запятую, открыть и закрыть фигурные скобки там, где они уже есть, условия цикла вообще недостижимый код...
Прошу помощи у знатоков, что не так делаю и как сделать правильно?!
Листинг программы
- return new ManualState()
- {
- MS = new ManualState_Pot[]
- {
- new ManualState_Pot() { POT = 1, value = MAIN.StatArr[0][1], time = UnixTimeNow(), new_value = MAIN.StatArr[0][3]},
- new ManualState_Pot() { POT = 2, value = MAIN.StatArr[1][1], time = UnixTimeNow(), new_value = MAIN.StatArr[1][3]},
- new ManualState_Pot() { POT = 3, value = MAIN.StatArr[2][1], time = UnixTimeNow(), new_value = MAIN.StatArr[2][3]},
- ...
- ...
- new ManualState_Pot() { POT = 95, value = MAIN.StatArr[94][1], time = UnixTimeNow(), new_value = MAIN.StatArr[94][3]},
- new ManualState_Pot() { POT = 96, value = MAIN.StatArr[95][1], time = UnixTimeNow(), new_value = MAIN.StatArr[95][3]}
- }
- };
Листинг программы
- return new ManualState()
- {
- MS = new ManualState_Pot[]
- {
- for (int p = 1; p < 97; p++)
- {
- new ManualState_Pot() { POT = p, value = MAIN.StatArr[p-1][1], time = UnixTimeNow(), new_value = MAIN.StatArr[p - 1][3]};
- };
Решение задачи: «Оптимизировать раздутый код, изменить return»
textual
Листинг программы
- var manualState = new ManualState();
- var msList = new List<ManualState_Pot>();
- for (int p = 1; p < 97; p++)
- {
- msList.Add(new ManualState_Pot()
- {
- POT = p,
- value = MAIN.StatArr[p-1][1],
- time = UnixTimeNow(),
- new_value = MAIN.StatArr[p - 1][3]
- }
- );
- };
- manualState.MS = msList.ToArray();
- return manualState;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д