如何使用 LINQ 查询? [关闭]
Posted
技术标签:
【中文标题】如何使用 LINQ 查询? [关闭]【英文标题】:how to use LINQ query? [closed] 【发布时间】:2015-10-29 16:38:29 【问题描述】:我有一个输入字符串,
string str1 = "aabcccabdfa";
我想计算每个字符的出现次数并将其放在该字符旁边。所以我需要将结果输出为"a4b2c3d1f1"
。如何使用 LINQ 实现这一目标?
我尝试使用“字典”来执行此操作,但无法执行此操作。
谢谢,
【问题讨论】:
输入和输出之间会发生什么? 这可能是功课。您的教授很有可能会使用 Google 找到将作业复制到问答论坛并逐字提交答案的学生。此外,如果您不至少具体展示您尝试过的内容并解释您遇到的问题,您将无法学习。 希望 OP 能够理解答案,尤其是在必须维护自己的代码时……以备将来更新…… 有什么问题,为什么这么多反对意见 @M.kazemAkhgary 没有任何努力。 【参考方案1】:这样做:
string str1 = "aabcccabdfa";
string.Concat(str1.GroupBy(c => c).OrderBy(c => c.Key).Select(c => c.Key.ToString() + c.Count()));
【讨论】:
.ToCharArray() 是多余且不必要的。 @tnw 然后 OPs 老师将加入 SO! :) 你说得对,我已经更新了代码。【参考方案2】:string str1 = "aabcccabdfa";
var result=string.Concat(str1.GroupBy(a=>a)
.Select(a=>a.Key.ToString()+a.Count().ToString()));
【讨论】:
【参考方案3】:string str1 = "aabcccabdfa";
var output = "";
str1.ToArray().Distinct().ToList().ForEach(x => output += x + (str1.Count(f => f == x).ToString()));
【讨论】:
以上是关于如何使用 LINQ 查询? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章