You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# 如何实现整型数组按照数值绝对值大小排序

解决方案

你可以使用Array.Sort的重载方法,传入自定义比较逻辑实现按绝对值升序排序,修改后代码如下:

int[] a = { 3, 2, 0, 4, -5, 8, 7, 6 };
// 传入自定义比较委托,按元素绝对值比较
Array.Sort(a, (x, y) => Math.Abs(x).CompareTo(Math.Abs(y)));

for(int i = 0; i < a.Length; i++)
{
    Console.WriteLine(a[i]);
}

逻辑说明

  • 默认Array.Sort对int数组排序时使用的是数值本身的大小比较规则,所以负数会排在最前面
  • 上述代码通过lambda表达式传入自定义比较委托,对两个待比较的元素先取绝对值再做大小比较,最终输出结果就会按照绝对值升序排列,完全匹配你的预期输出。

内容的提问来源于stack exchange,提问作者Connor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:24:05