如何从模型列表中删除特定字段

问题描述 投票:0回答:1

类结构

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
c# list linq generic-list
1个回答
0
投票

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,
});
© www.soinside.com 2019 - 2024. All rights reserved.