Am имеющий список студентов и при условии, что мне нужно скопировать одну строку и добавить эту строку с незначительными изменениямиC# - Genereic Список скопировать одну строку добавить еще одну строку
, например:
Класс Студент, имеющий follwing свойства
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public string Section { get; set; }
public int Marks { get; set; }
}
Таким образом, хотя Перебор списка, если знаки = 90 мне нужно скопировать эту строку и добавить еще одну строку, обновляя раздел
foreach (var item in studentData)
{
if(item.Section == 90)
{
//I need add some logic and update section and copy this item fully
//Add this modified item as new item to studentData
}
}
Если класс студент имел 3 пунктов первоначально
1 "Sam" "A" 48
1 "John" "B" 68
1 "Broad" "A" 90
мой ожидаемый результат будет
1 "Sam" "A" 48
1 "John" "B" 68
1 "Broad" "A" 90
1 "Broad" "C" 90
//Where i added one more row modifying the section
Что будет самый простой способ сделать это без особого цикла? я застрял !!
Я считаю, что вопрос по крайней мере с примером!
Благодаря
, что вы имеете в виду скопировать? если логика верна? вы хотите, чтобы 'item' был добавлен в' studentData' после обновления значения 'item.section'? вы не можете изменить коллекцию, в которой вы выполняете итерацию в цикле foreach –
@DGibbs да, обновление ... но я не уверен, как добавить элемент снова как новую строку. обновил мой вопрос с примера – Peru
Вам действительно нужно «скопировать и добавить»? Так, например, у вас есть один «Студент» с «Id == 1» в вашем списке, вы хотите, чтобы в итоге получилось * two * 'Student's с' Id == 1'? И что именно вы тестируете? Вы говорите, что хотите проверить, есть ли «отметки = 90», но ваш код предполагает, что вы тестируете 'Section == 90'. – Corak