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
,并且只适用于序列化场景。