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

C# 如何从列表中删除特定字段,c#,list,generic-list,generic-collections,C#,List,Generic List,Generic Collections,阶级结构 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 yea

阶级结构

 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();
这将返回一个列表,其中只包含字段信息Name和Exp

var employeeDetails=new List{Id=1,Name=“Peter”,Exp=“Two year”};
var employeeDetails = new List<EmployeDetails> { Id=1, Name="Peter", Exp="Two years" };   
var listWithoutId = employeeDetails.Select(x => new { x.Name, x.Exp}).ToList();
var listWithoutId=employeeDetails.Select(x=>new{x.Name,x.Exp}).ToList();
如果希望新列表具有具体类型的对象而不是匿名对象,可以定义一个不带ID的对应类:

public class EmployeeDetailsDTO
{
    public string Name { get; set; }
    public string Exp { get; set; }
}
并使用Select as:

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; }
 }

当我们将列表对象设置为
list=newlist
时,是否可能?我不理解您在评论中提出的问题。请指定更多详细信息。hi@XardasLord,当我们初始化列表时,我们会删除特定字段?是否可以在类似方法的方式中重用此选择?我需要在不止一种情况下应用这种过滤器。我搜索了它,但结果不远……值得一提的是,
JsonIgnore
引用了
Newtonsoft.Json
,并且只适用于序列化场景。