【问题标题】:How to Remove specific field from List如何从列表中删除特定字段
【发布时间】:2017-08-03 06:08:37
【问题描述】:

类结构

 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,如下所示输出

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

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

【问题讨论】:

    标签: c# list generic-list generic-collections


    【解决方案1】:

    你可以试试:

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

    这将返回一个列表,其中仅包含 NameExp...

    字段的信息

    【讨论】:

    • 当我们制作像List<EmployeeDetails>= new List<EmployeeDetails>这样的列表对象时是否有可能
    • 我不明白您在评论中提出的问题。请详细说明。
    • 嗨 @XardasLord,当我们初始化 List 时,我们删除了特定字段?
    • 是否可以像方法一样重用这个选择?我需要在不止一种情况下应用这样的过滤器。我搜索了它,但结果不是那么远......
    【解决方案2】:

    如果您希望新列表具有具体类型的对象而不是匿名对象,您可以为自己定义一个不带 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();
    

    【讨论】:

      【解决方案3】:
      var employeeDetails = new List<EmployeDetails> { Id=1, Name="Peter", Exp="Two years" };   
      var listWithoutId = employeeDetails.Select(x => new { x.Name, x.Exp}).ToList();
      

      【讨论】:

        【解决方案4】:
        您可以使用 JsonIgnore
         public class EmployeeDetails
         {
                [JsonIgnore]
                public int Id { get; set; }
                public string Name { get; set; }
                public string Exp { get; set; }
         }
        

        【讨论】:

        • 值得一提的是JsonIgnore引用了Newtonsoft.Json,仅适用于序列化场景。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-30
        • 2011-08-10
        • 1970-01-01
        • 1970-01-01
        • 2019-03-17
        相关资源
        最近更新 更多