如何使用LINQ查询?

时间:2015-10-29 16:38:30

标签: c# string linq

我有一个输入字符串,

string str1 = "aabcccabdfa";

我想计算每个角色的出现次数并将其放在该角色的旁边。所以我需要输出结果为"a4b2c3d1f1"。如何使用LINQ实现这一目标?

我尝试使用“词典”来做到这一点,但无法做到这一点。

谢谢,

3 个答案:

答案 0 :(得分:3)

这样做:

string str1 = "aabcccabdfa";
string.Concat(str1.GroupBy(c => c).OrderBy(c => c.Key).Select(c => c.Key.ToString() + c.Count()));

答案 1 :(得分:0)

string str1 = "aabcccabdfa";
var result=string.Concat(str1.GroupBy(a=>a)
  .Select(a=>a.Key.ToString()+a.Count().ToString()));

答案 2 :(得分:-1)

string str1 = "aabcccabdfa";
var output = "";
str1.ToArray().Distinct().ToList().ForEach(x => output += x + (str1.Count(f => f == x).ToString()));