Sometimes we will have requirement to change or replace specific property values and return all properties for a C# List. We can achieve this by using Linq Lambda expression.
Create simple Console application by using Microsoft Visual Studio 2017 and add Employee class.
public class Employee
{
public int EmpId { get; set; }
public string EmpName { get; set; }
}
Let’s create some Employee objects and add these to Employee list.
List<Employee>listEmployees = new List<Employee>();
Employee obj1 = new Employee();
obj1.EmpId = 100;
obj1.EmpName = "Raj";
listEmployees.Add(obj1);
Employee obj2 = new Employee();
obj2.EmpId = 101;
obj2.EmpName = "John";
listEmployees.Add(obj2);
Employee obj3 = new Employee();
obj3.EmpId = 102;
obj3.EmpName = "David";
listEmployees.Add(obj3);
As shown we have created the three Employee objects and added to the listEmployees list. Now I want to replace employee name “Raj” with “Admin” and want to return all properties. Use Linq and apply lambda expression as shown below to achieve this.
listEmployees = listEmployees.Select(c => { c.EmpName = c.EmpName.Replace("Raj", "Admin"); return c; }).ToList<Employee>();
Above code returns a list of Employees by replacing employee name “Raj” with “Admin” and returns all properties including EmpId.