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

How to Remove specific field from List

Class结构

 public class EmployeeDetails
 {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Exp { get; set; }
 }

员工详细信息列表

Id Name       Exp
-- ---------  --------
1  Bill       2 years
2  John       5 years
3  Doug       1 years

我想删除一个字段表单列表对象,如 Id,如下所示 output

Name       Exp
---------  --------
Bill       2 years
John       5 years
Doug       1 years

有人知道怎么做吗?
与我分享
谢谢

你可以试试:

var listWithoutCol = List.Select(x => new { x.Name , x.Exp}).ToList();

这将 return 一个仅包含 NameExp...[=11 字段信息的列表=]

var employeeDetails = new List<EmployeDetails> { Id=1, Name="Peter", Exp="Two years" };   
var listWithoutId = employeeDetails.Select(x => new { x.Name, x.Exp}).ToList();

如果你想让新列表有一个具体类型的对象而不是匿名对象,你可以自己定义一个对应的class没有ID:

public class EmployeeDetailsDTO
{
    public string Name { get; set; }
    public string Exp { get; set; }
}

并使用 Select 作为:

var listWithoutIDs = List.Select(x => new EmployeeDetailsDTO{ Name = x.Name , Exp = x.Exp}).ToList();
您可以使用 JsonIgnore
 public class EmployeeDetails
 {
        [JsonIgnore]
        public int Id { get; set; }
        public string Name { get; set; }
        public string Exp { get; set; }
 }