类结构
public class EmployeeViewModel
{
public List<EmployeeDetails > employeedetails { get; set; }
public string age { get; set; }
}
public class EmployeeDetails
{
public string empid { get; set; }
public string empname { get; set; }
}
雇员详情一览表
empid empname age
----- ------- -----
1 Faizy 2 years
2 Jaan 5 years
3 Ajith 8 years
我想从列表对象中删除一个字段,比如empid,就像下面的输出一样。
empname age
------- -----
Faizy 2 years
Jaan 5 years
Ajith 8 years
LINQ永远不会改变你的数据源,它只能从数据源中提取数据。它只能从源中提取数据。如果需要,你可以使用提取的数据来改变你的源。
所以你有一个EmployeeViewModels,它有一个EmployeeDetails的列表(可以是空的!)。
你想要一个新的序列,在EmployeeDetails列表中只有empName和Age的每个employeeDetail。如果viewModel有一个空的EmployeeDetails,你想要一个空的列表。
EmployeeViewModel viewModel = ...
IEnumerable<EmployeeDetail> employeeDetails = viewModel.EmployeeDetails ??
Enumerable.Empty<EmployeeDetail>();
var result = employeeDetails.Select(employeeDetail => new
{
Name = employeeDetail.EmpName,
Age = employeeDetail.EmpAge,
});