2010年6月3日 星期四

C# 如何在Arraylis裡找出相同的值並計算出現次數

有一個 Arraylist 裡面有值為 {1,2,3,4,5,3,10,1,2,4,12,9,4} 等數字
要一個數字只顯示一次,不重複
並計算出每個數字共出現幾次?

顯示gridview 如下

Num Count
------------
1 2
2 2
3 2
4 3
5 1
9 1
10 1
12 1


public static void Main(string[] args)
{
int[] iArr = new int[] { 1, 2, 3, 4, 5, 3, 10, 1, 2, 4, 12, 9, 4 };

SortedDictionary<int, int> sDict = new SortedDictionary<int, int>();

foreach (int i in iArr)
{
if (sDict.ContainsKey(i))
{
int value = sDict[i];
sDict.Remove(i);
sDict.Add(i, value + 1);
}
else
sDict.Add(i, 1);
}

Console.WriteLine(" Num Count");
Console.WriteLine(" -------------- ");
foreach (KeyValuePair<int, int> kvp in sDict)
Console.WriteLine("{0,4}{0,8}", kvp.Key, kvp.Value);

Console.ReadKey();
}


Result:
CSharp_Array

沒有留言: