天天看點

代碼進階寫法——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#