要查找一列字符中出现最多的字符,如何实现,方法要简单

解决方案 »

  1.   

    string str = "i am amandag!";   
      
    Dictionary<char, int> d = new Dictionary<char, int>();   
      
    for (int i = 0; i < str.Length; i++)   
    {   
        if (d.ContainsKey(str[i]))   
        {   
            d[str[i]]++;   
        }   
        else  
        {   
            d[str[i]] = 1;   
        }   
    }   
      
    char max = str[0];   
    foreach (KeyValuePair<char, int> temp in d)   
    {   
        if (temp.Value > d[max])   
        {   
            max = temp.Key;   
        }   
    }   
      
    Console.WriteLine(max + " " + d[max]);  
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/amandag/archive/2010/03/17/5390575.aspx
      

  2.   

                string s = "aaaabbbcccccccccccc";
                List<char> chars = new List<char>();
                foreach (char c in s)
                    chars.Add(c);            var q = chars.GroupBy(g => g).Select(g => new {Count = g.Count(),g.Key }).OrderByDescending(g=>g.Count).FirstOrDefault();
                var i = q;i 等于 12,c
      

  3.   

    支持,LS的Linq方法很好看。建议大家都学习Linq,提高开发效率。
    1楼贴的是以前高歌写的是吧,传说高歌现在常用的方法也是linq了。