天天看点

代码高级写法——C#Linq表达式写法

Linq全称为“Language Integrated Query”,译为“语言集成查询”。主要在前台对数据源的封装与处理。接下来就项目的实际需求场景,介绍下面的Linq用法:

  • 匹配筛选(where)子句
  1. 属性筛选

     界面上有一个checkListComboxEdit控件,其数据项都存在Items数组中,选中项存在SelectdedItems如果我们要选择其中的选中项,写代码的思路必然是foreach这个数组,然后重新new一个新的List,然后将其中的item重新添加到这个新的List,下面给出代码示例:

  1. List<object> list = new List<object>();
    foreach (var item in this.checkedListBoxControl_ProdIndex.SelectedItems)
    {
       list.Add(item);
    }
               
    使用where筛选将会变得更加简单,不信你看:
    var selectItems = this.checkedListBoxControl_ProdIndex.Items.Where(x => x.CheckState == CheckState.Checked).ToList();
               
  2. 多list列表属性匹配筛选

       假设项目中得到了一个类型为TreeListNodeDescriptor的list列表,如果要根据其共有属性匹配成另外一个list列表,作用是获取井信息,类型为WellInfoDecriptor,其中一个方案就是遍历原有的TreeListNodeDescriptor的list&#x

c#