你先将list中的数据读取到arraylist中,然后来循环遍历数据就可以获取到了

解决方案 »

  1.   

    用linqstatic void Main(string[] args)
    {
        string[] test = new string[] { "英语", "英语", "计算机", "计算机", "语文", "语文", "语文", "历史", "历史" };
        var groups = test.GroupBy(s => s);
        foreach (var g in groups)
        {
            Console.WriteLine(g.First() + ":" + g.Count().ToString());
        }
        Console.ReadKey();
    }结果:
    英语:2
    计算机:2
    语文:3
    历史:2
      

  2.   

    int count = list.Count(m => m == "英语");
      

  3.   

    static int Count(List<string> lst)
      {
        List<string> lst2 = new List<string>();
        foreach (string x in lst)
          if (!lst2.Contains(x)) lst2.Add(x);
        return lst2.Count;
      }
    var q=from item in lst
          group item by item into g
          select new {str=g.key,number=g}