C# 鏈表去重 List 一維 二維 分別使用 Distinct() GroupBy() 方法

來源:互聯網
上載者:User

標籤:end   uil   var   輸出   ima   class   重複   ons   main   

分別使用過List中Distinct(),GroupBy()實現鏈表的去重。

1.先上效果:

一維鏈表中分別有元素“aa”,"bb",‘aa‘,‘aa‘,"cc",使用Distinct()方法後輸出 aa,bb,cc

二維鏈表中類型為ClassA類型,其中對象的屬性A分別為1,1,2,3,1,使用GroupBy()方法實則是分類,輸出Key值分別為1,2,3。

 

2.上代碼,類ClassA

 1         class ClassA 2         { 3             private int a; 4             public int A 5             { 6                 get { return a; } 7                 set { a = value; } 8  9             }10 11             private string b;12             public string B13             {14                 get { return b; }15                 set { b = value; }16 17             }18         }

主函數,分別列印一維鏈表,二維鏈表去重後輸出的值。

 1 static void Main(string[] args) 2         { 3             //1.一維鏈表去重複(Distinct方法) 4             List<string> lst1 = new List<string>() { "aa", "bb", "cc", "aa", "bb" }; 5             List<string> lst1Distinct = lst1.Distinct().ToList(); 6  7             StringBuilder sb1 = new StringBuilder(); 8             sb1.Append("一維鏈表去重:"); 9             foreach (var item in lst1Distinct) 10             {11                 sb1.Append(item);12                 sb1.Append("-");13             }14             Console.WriteLine(sb1.ToString());//結果為 aa-bb-cc-15 16             //2.二維鏈表去重(GroupBy方法)17             List<ClassA> lst2 = new List<ClassA>();18             lst2.Add(new ClassA() { A = 1, B = "aa" });19             lst2.Add(new ClassA() { A = 1, B = "bb" });20             lst2.Add(new ClassA() { A = 2, B = "aa" });21             lst2.Add(new ClassA() { A = 3, B = "aa" });22             lst2.Add(new ClassA() { A = 1, B = "cc" });23             var lst2Distinct = lst2.GroupBy(r => r.A);//根據屬性A分組24             StringBuilder sb2 = new StringBuilder();25             sb2.Append("二維鏈表去重:");26             foreach (var item in lst2Distinct)27             {28                 sb2.Append(item.Key.ToString());29                 sb2.Append("-");30             }31             Console.WriteLine(sb2.ToString());//結果為1-2-3-32             Console.Read();33         }

 

C# 鏈表去重 List 一維 二維 分別使用 Distinct() GroupBy() 方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.