我有一个按字符串长度排序的Enumerable字符串序列(所有字符串都是大写的).如何按字母顺序排序此序列,然后删除具有相同长度的所有字符串,除了LINQ中每个长度组中的一个?
例如:
ORIEW DRERE EWKD OPPA LTS ERS YT GL HF
应该是
DRERE EWKD ERS GL
Hab*_*bib 10
如果您将元素定义为:
string[] elements = new[]
{
"ORIEW",
"DRERE",
"EWKD",
"OPPA",
"LTS",
"ERS",
"YT",
"GL",
"HF"
};
Run Code Online (Sandbox Code Playgroud)
然后你可以使用:
var result = elements.OrderBy(r => r)
.GroupBy(r => r.Length)
.Select(grp => grp.First());
Run Code Online (Sandbox Code Playgroud)
对于输出,您可以使用:
foreach (var item in result)
{
Console.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)
你会回来的:
DRERE
ERS
EWKD
GL
Run Code Online (Sandbox Code Playgroud)
(与ORDER BY你应该还记得ERS之前EWKD-在问题不喜欢)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |