按特定值从通用列表中获取所有项目

普拉萨德

我有一个通用列表,其中有很多项目。有些项目具有特定的值,例如 true,在这里我需要运行一个 linq 查询,以使基于项目 value=true 的特定项目能够在 var 变量中的这些项目中进行隔离。

我曾尝试使用 List.Find、FindAll、Contains

public class FilterControl  
{  
    public bool IsItem1 { get; set; }  
    public bool IsItem2 { get; set; }  
    public bool IsItem3 { get; set; }  
    public bool IsItem4 { get; set; }  
    public bool IsItem5 { get; set; }  
    public bool IsItem6 { get; set; }  
    public bool IsItem7 { get; set; }  
    public bool IsItem8 { get; set; }  
    public bool IsItem9 { get; set; }  
    public bool IsItem10 { get; set; }  
}  

List<FilterControl> listFilters = new List<FilterControl>(){  
   new FilterControl() { IsItem1 = false, IsItem2 = false, IsItem3 = true, IsItem4 = false, IsItem5 = true, IsItem6 = true, IsItem7 = false, IsItem8 = true, IsItem9 = false, IsItem2 = true },  
}; 

我试过如下:

var getAllItemsWchValueTrue = listFilters.Where(a => a.IsItem1 == true).Select(a => a.IsItem1).FirstOrDefault();

但在这段代码中,我只能检查一个值为真或假的项目。我需要在这里检查我想在 Var 变量中拥有的那些项目的值为 true 的项目。

瓦米克·雷曼

检查这个小提琴https://dotnetfiddle.net/kjvWPC

    List<FilterControl> listFilters = new List<FilterControl>(){
   new FilterControl() { IsItem1 = false, IsItem2 = false, IsItem3 = true, IsItem4 = false, IsItem5 = true, IsItem6 = true, IsItem7 = false, IsItem8 = true, IsItem9 = false }};

    var getAllItemsWchValueTrue  =  listFilters.Select(p=>
            {

         List<string> items =new List<string>();
        foreach (PropertyInfo prop in p.GetType().GetProperties()){
         var type = Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType;
         if (type == typeof (System.Boolean) && (bool)prop.GetValue(p, null))
         { 
            items.Add(prop.Name);
         }
        }

        return items;
       }).SelectMany(q=> q);

更整洁的方式https://dotnetfiddle.net/6dxa17

var getAllItemsWchValueTrue = listFilters.Select(p =>
        {
            return p.GetType().GetProperties().Where(prop => (prop.PropertyType == typeof (System.Boolean)) && (bool)prop.GetValue(p, null)).Select(prop => prop.Name);
        }

        ).SelectMany(q => q);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从列表中的所有项目中获取特定属性

来自分类Dev

Scala获取列表中的所有元素小于特定值

来自分类Dev

有没有办法从列表中获取具有特定属性的所有项目

来自分类Dev

如何从字典中的列表中获取所有值,我需要为每个项目获取标题

来自分类Dev

如何从json输出中获取特定通用对象的所有数据值

来自分类Dev

如何从列表中获取所有值?

来自分类Dev

从抽象类型列表中获取特定类型的所有项目

来自分类Dev

从通用列表中删除所有相同的值

来自分类Dev

映射列表未从主列表中获取所有项目

来自分类Dev

使用C#中的Selenium获取具有特定类的所有元素的属性值的列表

来自分类Dev

jQuery-获取多个选择列表中的所有项目

来自分类Dev

按特定年份汇总列中的所有 - / + 值

来自分类Dev

列表中的所有项目都获得相同的值

来自分类Dev

如何从具有子列表的列表中获取值并将所有值按顺序存储在另一个列表中

来自分类Dev

从对象中获取具有特定值的所有键

来自分类Dev

如何从 Java 中的 Map 列表中获取所有值?

来自分类Dev

从列表列表中删除所有具有特定项目的列表

来自分类Dev

列表中是否包含具有特定值的项目?

来自分类Dev

在链接列表中获取以特定字符开头的所有元素

来自分类Dev

如何从数组中的所有索引中获取特定值

来自分类Dev

在Orchard CMS中,如何根据附加零件的属性值获取特定内容类型的所有项目

来自分类Dev

如何在列表和列中的特定键中获取所有唯一字典值?

来自分类Dev

在特定值之后从列表中删除所有元素

来自分类Dev

从列表python中删除所有出现的特定值

来自分类Dev

使用Javascript或JQuery从对象列表中获取所有值

来自分类Dev

从复选框列表中获取所有值

来自分类Dev

获取与时间序列中的条件匹配的所有值的列表

来自分类Dev

如何从 Scala 的地图列表中获取所有值?

来自分类Dev

获取包含项目子集的所有列表

Related 相关文章

  1. 1

    从列表中的所有项目中获取特定属性

  2. 2

    Scala获取列表中的所有元素小于特定值

  3. 3

    有没有办法从列表中获取具有特定属性的所有项目

  4. 4

    如何从字典中的列表中获取所有值,我需要为每个项目获取标题

  5. 5

    如何从json输出中获取特定通用对象的所有数据值

  6. 6

    如何从列表中获取所有值?

  7. 7

    从抽象类型列表中获取特定类型的所有项目

  8. 8

    从通用列表中删除所有相同的值

  9. 9

    映射列表未从主列表中获取所有项目

  10. 10

    使用C#中的Selenium获取具有特定类的所有元素的属性值的列表

  11. 11

    jQuery-获取多个选择列表中的所有项目

  12. 12

    按特定年份汇总列中的所有 - / + 值

  13. 13

    列表中的所有项目都获得相同的值

  14. 14

    如何从具有子列表的列表中获取值并将所有值按顺序存储在另一个列表中

  15. 15

    从对象中获取具有特定值的所有键

  16. 16

    如何从 Java 中的 Map 列表中获取所有值?

  17. 17

    从列表列表中删除所有具有特定项目的列表

  18. 18

    列表中是否包含具有特定值的项目?

  19. 19

    在链接列表中获取以特定字符开头的所有元素

  20. 20

    如何从数组中的所有索引中获取特定值

  21. 21

    在Orchard CMS中,如何根据附加零件的属性值获取特定内容类型的所有项目

  22. 22

    如何在列表和列中的特定键中获取所有唯一字典值?

  23. 23

    在特定值之后从列表中删除所有元素

  24. 24

    从列表python中删除所有出现的特定值

  25. 25

    使用Javascript或JQuery从对象列表中获取所有值

  26. 26

    从复选框列表中获取所有值

  27. 27

    获取与时间序列中的条件匹配的所有值的列表

  28. 28

    如何从 Scala 的地图列表中获取所有值?

  29. 29

    获取包含项目子集的所有列表

热门标签

归档