Предположим, что у меня есть такой бизнес-объект,
class Employee
{
public string name;
public int id;
public string desgination;
public int grade;
}
List<Employee> lstEmp = new List<Employee>()
{
new Employee() { name="A",desgination="SE",id=1},
new Employee() { name="b",desgination="TL",id=2},
new Employee() { name="c",desgination="PL",id=3},
new Employee() { name="d",desgination="SE",id=4},
new Employee() { name="e",desgination="SSE",id=5},
};
И если я хочу обновить класс сотрудника до 3, чье обозначение "SE", тогда я должен написать что-то вроде этого
lstEmp=lstEmp.Select(x =>
{
x.grade = (x.desgination == "SE") ? 3 : x.grade;
return x;
}).ToList();
Но при использовании select он будет генерировать новый объект employee каждый раз, не обновляя существующий lstEmp, поэтому мне нужно повторно обновить список до lstEmp.
Мне кажется, это влияет на производительность при частом обновлении больших обновлений. Есть ли обходной путь для этого?