当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

找出字符串中出现频率最高的字符

   有个小项目写了如下代码,这段代码主要用于数据压缩和编码方面,不知道园子里的高手有什么更加牛的方法吗?

大家都来秀一下吧。

Code
using System;
using System.Collections.Generic;
using System.Text;

namespace ChineseNumber
{
    class Program
    {
        static void Main(string[] args)
        {
            string test = "char c = str.ToCharArray().GroupBy(ch => ch).OrderBy( g => -g.Count() ).First().Key;";
            Dictionary<char, int> dict = new Dictionary<char, int>();
            for (int i = 0, iLen = test.Length; i < iLen; i++)
            {
                int count;
                if (!dict.TryGetValue(test[i], out count))
                    dict.Add(test[i], 1);
                dict[test[i]] += 1;
            }
            char maxChar = ' ';
            int max = 0;
            foreach (KeyValuePair<char, int> item in dict)
            {
                maxChar = item.Value > max ? item.Key : maxChar;
                max = item.Value > max ? item.Value : max;
            }
            Console.WriteLine(maxChar.ToString() + "," + max.ToString());
            Console.Read();
        }
    }
}

相关内容
赞助商链接