Lambda Select first應用

 這個程式代碼是使用C#語言的LINQ (Language Integrated Query) 庫來操作一個列表 (List)。它包含了一個複雜的查詢


list.GroupBy(x => x.AA).Select(x => x.First()).Select(x => x.AA).ToList()


讓我們一步一步來詳細說明這些操作:


 Comment

list 是一個包含元素的 List,其中每個元素都具有一個名為 AA 的屬性。


GroupBy(x => x.AA):這是一個LINQ操作,它將 list 中的元素按照它們的 AA 屬性的值進行分組。這意味著相同的 AA 值的元素將被放入相同的分組中,所以你將會得到一個以 AA 屬性的值作為鍵的分組。


.Select(x => x.First()):這個操作針對每個分組中的元素,選擇該分組的第一個元素。換句話說,對於每個 AA 值,只會保留第一個具有該值的元素。這會縮小結果的集合,使其只包含每個 AA 值的一個元素。


.Select(x => x.AA):這是接著前一步操作的另一個 Select 操作,它選擇保留元素的 AA 屬性的值。


.ToList():最後一個操作將LINQ查詢的結果轉換為一個新的List,以便進一步使用或返回。


總結,這個LINQ查詢的目的是對 list 中的元素進行分組,然後只保留每個分組中的第一個元素,最終將這些第一個元素的 AA 屬性值轉為List返回。這可以用來去除具有相同 AA 值的重複元素,並僅保留每個 AA 值的第一個元素。




留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 例外控制(Exception Control)

Oracle 工作排程 DBMS_JOB 筆記