gpt4 book ai didi

C# 用数字对数组列表进行排序

转载 作者:行者123 更新时间:2023-11-30 18:51:49 27 4
gpt4 key购买 nike

你好,我确实想要一个数组,其中包含:

String[] info = new String[5]{"6,j", "7,d", "12,s", "4,h", "14,s" };

但是如果我使用这个:

Array.Sort(info);

输出变为:

"7,d"
"6,j"
"4,h"
"14,s"
"12,s"

但我不会输出为:

"14,s"
"12,s"
"7,d"
"6,j"
"4,h"

在 C# 中/使用 C# 最简单的方法是什么??

当我这样做时,我无法让字母数字排序工作:

Array.Sort(info, new AlphanumComparatorFast());

无法找到类型或命名空间“AlphanumComparatorFast”您缺少 using 指令或程序集引用

是我得到的错误...

最佳答案

尝试:

var sortedArray = info.OrderBy(s=>int.Parse(s.Split(',')[0])).ToArray();

这仅按数字部分排序,但您可以详细说明该示例。此代码强烈假设始终存在逗号分隔符,这可能是生产中的一个问题,请进行更准确的错误处理。如果数组包含一些不符合异常的元素,只要忽略失败的元素是可以接受的,我们可以这样写:

 var sortedArray = info.Where(k=>!string.IsNullOrEmpty(k)&&k.IndexOf(",")!=-1)
.OrderBy(s=>int.Parse(s.Split(',')[0])).ToArray();

关于C# 用数字对数组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8886401/

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