gpt4 book ai didi

c# - 排序格式不正确

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:06 26 4
gpt4 key购买 nike

我有一个字符串数组,其中包含文件名,如

 1.Script_DBScript_03122014

我想对这个数组进行排序,所以我编写了以下代码:
Array.Sort(SQLScripts);

但是排序后的数组是这样产生的:
 1.Script_DBScript(otherdetails)_03122014
10.Script_DBScript(otherdetails)_03122014
11.Script_DBScript(otherdetails)_03122014
12.Script_DBScript(otherdetails)_03122014
...
2.Script_DBScript(otherdetails)_03122014
20.Script_DBScript(otherdetails)_03122014
21.Script_DBScript(otherdetails)_03122014
22.Script_DBScript(otherdetails)_03122014
... so on

我怎样才能得到以下形式的数组
 1.Script_DBScript(otherdetails)_03122014
2.Script_DBScript(otherdetails)_03122014
3.Script_DBScript(otherdetails)_03122014
4.Script_DBScript(otherdetails)_03122014
5.Script_DBScript(otherdetails)_03122014
...
50.Script_DBScript(otherdetails)_03122014

编辑:
从目录中检索文件名的代码:
String[] SQLScripts = Directory.GetFiles(txtPath.Text, "*.sql");

最佳答案

您得到的结果是非常常见的字符串排序。您需要的是数字(或数字)排序。

在这种情况下,您可能想要解析您的字符串,从第一个点的左侧提取数字,使用一些方法,如 int.Parse("string containing a number")然后按整数排序。

我会这样做,但是我不建议在不了解您所做的事情的情况下复制粘贴我的代码:

SQLScripts = SQLScripts
.OrderBy(T => int.Parse(T.Split('.')[0]))
.ToArray();

关于c# - 排序格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346292/

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