C#统计Ayyaylist中相同元素出现的次数并排序,该如何处理
C#统计Ayyaylist中相同元素出现的次数并排序
比如:
ArrayList pre = new ArrayList();
pre.add('我');
pre.add('的');
pre.add('朋');
pre.add('友');
pre.add('的');
pre.add('朋');
pre.add('友');
要统计的结果:的——2
朋——2
友——2
我——1
该如何统计并排序,有什么高效的方法,请高手指点!
------解决方案--------------------
比如:
ArrayList pre = new ArrayList();
pre.add('我');
pre.add('的');
pre.add('朋');
pre.add('友');
pre.add('的');
pre.add('朋');
pre.add('友');
要统计的结果:的——2
朋——2
友——2
我——1
该如何统计并排序,有什么高效的方法,请高手指点!
------解决方案--------------------
- C# code
Dictionary<string,int> dic=new Dictionary<string,int>(); foreach(var p in pre) { if(dic.ContainKey(p)) dic[p]+=1; else dic.Add(p,1); }
------解决方案--------------------
- C# code
你用的是char,如果是字符,就将from char 改为 from string System.Collections.ArrayList pre = new System.Collections.ArrayList(); pre.Add('我'); pre.Add('的'); pre.Add('朋'); pre.Add('友'); pre.Add('的'); pre.Add('朋'); pre.Add('友'); var vs = from char p in pre group p by p into g select new { g, num = g.Count() }; foreach (var v in vs) { MessageBox.Show(v.g.Key + "=" + v.num); }
------解决方案--------------------