Оптимизировать раздутый код, изменить 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;