【发布时间】:2018-11-20 14:56:08
【问题描述】:
我刚开始学习 lambda/linq。这是我到目前为止所拥有的。
var frequency = from f in "trreill".ToList()
group f by f into letterfrequency
select letterfrequency;
foreach (var f in frequency)
{
Console.WriteLine($"{f.Key}{f.Count()}");
}
这是输出:
t1 r2 e1 i1 l2
需要输出:
e1i1l2r2t1
不知道如何正确排序。对我做错了什么有任何想法吗?
【问题讨论】:
-
frequency = frequency.OrderBy(x => x.Count); -
您只是想通过
letterfrequency.Key订购,然后通过letterfrequency.Count()订购?鉴于您的分组,后者无关紧要。 -
你能解释一下为什么你在那里写了一个不必要的
ToList吗?我有兴趣了解人们为什么要编写不必要的代码,因为它可以帮助我设计 API,让开发人员避免编写不必要的代码。 -
“跟随”是指打印出密钥,然后按计数跟随?还是您的意思是排序关系取决于计数?如果是后者,那有什么不同?
-
ToList() 是我最初尝试排序的方法之一,因为我无法让它正常工作。我知道,编码不好,但我正在尝试:) 非常感谢