gpt4 book ai didi

C# Linq - 如何从第一个值拆分的 List 中选择前 5 行

转载 作者:行者123 更新时间:2023-11-30 14:27:32 26 4
gpt4 key购买 nike

我可能措辞不当,但我有一个基于拆分的简单列表,我希望第一列中的最大值。

这是代码

   List<string> myString = new List<string>();
myString.Add("100.02|apples|pears");
myString.Add("22.02|apples|pears");
myString.Add("99.02|apples|pears");
myString.Add("88.02|apples|pears");
myString.Add("77.02|apples|pears");
myString.Add("66.02|apples|pears");

我基本上是在 | 上拆分,然后将第一列转换为十进制。我想获得最大的 5 行,这将排除 22.02。我试过排序和排序,但它们不起作用,因为字符串的长度不同。

谢谢!

最佳答案

这会起作用:

List<string> myString = new List<string>();
myString.Add("100.02|apples|pears");
myString.Add("22.02|apples|pears");
myString.Add("99.02|apples|pears");
myString.Add("88.02|apples|pears");
myString.Add("77.02|apples|pears");
myString.Add("66.02|apples|pears");

var res = myString.Select(s => new
{
num = decimal.Parse(s.Split('|')[0]),
str = s
}).OrderByDescending(g => g.num).Take(5).Select(s => s.str);
res.Dump();

没有任何错误检查,但它给了你结果:

100.02|apples|pears
99.02|apples|pears
88.02|apples|pears
77.02|apples|pears
66.02|apples|pears

关于C# Linq - 如何从第一个值拆分的 List<string> 中选择前 5 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32447777/

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