gpt4 book ai didi

c# - 如何在 C# 中对数组列表的元素进行排序

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

我有一个 ArrayList 包含,

[0] = "1"
[1] = "10"
[2] = "2"
[3] = "15"
[4] = "17"
[5] = "5"
[6] = "6"
[7] = "27"
[8] = "8"
[9] = "9"

现在我需要对数组列表进行排序,使其变成,

[0] = "1"
[1] = "2"
[2] = "5"
[3] = "6"
[4] = "8"
[5] = "9"
[6] = "10"
[7] = "15"
[8] = "17"
[9] = "27"

最后,我将从 ArrayList 获取值并将它们用作 'int' 值。我怎样才能做到这一点?或者我应该先将它们转换为 int 然后对它们进行排序。?

最佳答案

如果您可以确定列表只包含可以转换为整数的字符串,那么使用 IEnumerable<T>.OrderBy 扩展方法,试试这个:

var sortedList = list.OrderBy(item => int.Parse(item));

如果您使用的是 ArrayList而不是 List<string> (嘘!),你需要 Cast第一:

var sortedList = list.Cast<string>().OrderBy(item => int.Parse(item));

您也可以像 JaredPar 指出的那样定义自己的比较器,但在我看来,对于已经实现的东西来说,这需要大量工作。但是,它的效率更高。

关于c# - 如何在 C# 中对数组列表的元素进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/852439/

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