有一个字符串string,3242615284293,把每个数出现的次数统计然后按出现次数排列出来,最好能按找出现的次数排列出来,比如2出现了4次,3出现了2次,4出现了3次,就直接显示243,显示到textbox中。

解决方案 »

  1.   

    string str = "3242615284293";
    textBox1.Text = new string(str.GroupBy(v1 => v1).OrderBy(v1 => v1.Count()).Reverse().Select(v1 => v1.Key).ToArray());
    //24398516
      

  2.   


    楼主,提供给你个解决方案思路吧。
    方案:1)循环遍历字符串,用字典或键值对变量 存取该字符串,其值对应其出现次数,第二次循环时 判断字符是否存在,存在的 次数++,不存在的 添加;
          2)循环后 判断值的 大小,然后排序输出;
    Demo:  
          string content ="1245673345218";
          Dctionary<string,string> dir = new Dctionary<string,string>();
          char[] chrNew = content.//转换成char[];
          foreach ( var item in cheNew)
            {
               if(dir.Keys.contain(item))
              {
                 //取出value值,转换成 int ,++处理,保存
                }
               else
               {
                 //不存在,直接添加
                 }
            }