gpt4 book ai didi

c# - 根据列表 C# 中项目的第一个和最后一个字符区分

转载 作者:行者123 更新时间:2023-11-30 17:31:22 25 4
gpt4 key购买 nike

我有一个字符串列表:

"55002",
"81512",
"81612",
"84515",
"84615",
"86358",
"86358",
"91128",
"94002"

我想在该列表中找到具有相同的 2 个第一个字符和相同的最后一个字符的项目,然后从列表中删除具有较低中间字符的项目。在此示例中,相同的是:8151281612 我想删除 81512,相同的是 8451584615,我想删除 84515 等。

最佳答案

你可以试试这个:

var g = new string[] {"55002",  ...};

var t=g.GroupBy(f => f.Substring(0, 2))
.Select(f =>f.OrderByDescending(a =>a ).First());

结果:

55002 
91128
81612
84615
86358
94002

更新:

我可能错过了 groupby 也应该计算最后两个字符。

如果是这样的话:

var t=g.GroupBy(f => f.Substring(0, 2)+f.Substring( f.Length-2))
.Select(f =>f.OrderByDescending(a =>a ).First());

可视化:

查看这段代码:

    var g = new string[] {"55002",
"91128",
"81512",
"81712",
"81612",
"84516",
"84216",
"84615",
"86358",
"86358",
"94002"};

var t = g.GroupBy(f => f.Substring(0, 2) + f.Substring(f.Length - 2)).Select(f => new { key = f.Key, group = f.OrderByDescending(a => a)});
Console.Write(t);

我们将按“键”分组,并在每个正确的组中取第一个顶部:

enter image description here

关于c# - 根据列表 C# 中项目的第一个和最后一个字符区分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48041786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com