gpt4 book ai didi

C# linq 列表查找最接近的数字

转载 作者:太空狗 更新时间:2023-10-29 20:56:06 25 4
gpt4 key购买 nike

我有一个数字列表,我想找到最接近搜索数字的四个数字。

例如,如果搜索号码是 400000 并且列表是:{150000, 250000, 400000, 550000, 850000, 300000, 200000),那么最接近的 4数字将是:

{300000, 400000, 250000, 550000}

如有任何帮助或建议,我们将不胜感激。

最佳答案

您可以使用 OrderBy以每一项与您的搜索词之差的绝对值对列表进行排序,以便排序列表中的第一项最接近您的编号,最后一项距编号最远。然后你可以使用 Take获取所需项目数的扩展方法:

var list = new List<long> {150000, 250000, 400000, 550000, 850000, 300000, 200000};
var search = 400000;
var result = list.OrderBy(x => Math.Abs(x - search)).Take(4);
Console.WriteLine(string.Join(", ", result));

输出:{400000, 300000, 250000, 550000}

关于C# linq 列表查找最接近的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54544649/

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