代码之家  ›  专栏  ›  技术社区  ›  lost9123193

用c中包含条件的方法映射对象的正确方法

c#
  •  0
  • lost9123193  · 技术社区  · 6 年前

    我有一个名为shouldshow()的方法的以下对象

     public class Animal {
    
       public bool ShouldShow()
       ...
     }
    

    我有一张动物名单

    List<Animal> animalList
    

    我只想提取布尔值上返回true的动物对象 ShouldShow() 是的。

    我做了以下工作:

    List<Animal> availableAnimals =  animalList.Select(a => a.ShouldShow()).ToList()
    

    这不起作用,因为 ShouldShow 返回布尔值。我该如何更改呼叫以便它检查 应该展示 然后返回对象?

    1 回复  |  直到 6 年前
        1
  •  4
  •   FCin    6 年前

    你应该用 Where 而不是 Select

    List<Animal> availableAnimals = animalList.Where(a => a.ShouldShow()).ToList()