利用.NET Collections類別來幫你達成Group的功能

在.NET的System.Collections類別中,有一個很特別的分支叫System.Collections.Specialized,這裡面有一個NameValueCollection可以讓你在進行Collections式的新增時,幫你把鍵值進行資料庫式的Group By,讓你列舉時不用多寫一次的歸類演算,還蠻好用的,喜歡的人請自己拿去配吧!

NameValueCollection的範例程式碼如下:

using System;
using System.Collections.Specialized;

namespace nameCollection
{
  class Program
  {
    static void Main(string[] args)
    {
      NameValueCollection TEST = new NameValueCollection();
      TEST.Add("第一組", "小明");
      TEST.Add("第二組", "小華");
      TEST.Add("第三組", "小英");
      TEST.Add("第一組", "李登輝");
      TEST.Add("第一組", "陳水扁");
      TEST.Add("第三組", "馬英九");
      TEST.Add("第二組", "連勝文");
      foreach (String s in TEST.AllKeys)
      { Console.WriteLine(TEST.Get(s)); }
      Console.Read();
    }
  }
}

輸出結果:

小明,李登輝,陳水扁
小華,連勝文
小英,馬英九

※註:系統並不會自動幫你把第一組、第二組等Keys進行排序,取決於你先宣告什麼為準,例如你先Add的Keys是「第二組」,那麼Foreach時第二組就會是第一個被列舉出來的Key了。

相關連結:

列舉NameValueCollection集合內所有的資料

.NETFramework System.Collections SQL GroupBy