【发布时间】:2019-12-02 07:23:52
【问题描述】:
我有一个字符序列(例如“}çæø Ñ”),我需要获得一个 char,count 对,其中 char 是 ASCII 字符代码count 是同一字符的连续重复次数。
因此,上述序列将变为:
<125,1>
<135,1>
<145,1>
<32,5>
<155,1>
<32,3>
有没有一种使用字典的快速方法?
我只需要计算相邻字符(见上例中的第 32 个字符)。 我知道字典不能有键重复,所以有没有另一种不涉及字符串的快速方法迭代?我可能要处理很长的字符串,并且迭代需要的时间太长。
【问题讨论】:
-
我认为这应该可以使用Linq的
GroupBy方法 -
string source = ...; Dictionary<char, int> result = source .GroupBy(c => c) .ToDictionary(group => group.Key, group => group.Count()); -
@user2729463:至少,您不能将结果表示为字典,因为键必须是唯一的(key = 32 不能重复)
-
stackoverflow.com/questions/32432281/…。您在网上搜索答案时使用的关键字是什么?
标签: c# dictionary char