gpt4 book ai didi

.net - 如何打破这个字符串并按版本号排序

转载 作者:行者123 更新时间:2023-12-04 06:53:12 26 4
gpt4 key购买 nike

我有一个 ASP 应用程序,它有一个字符串数组(还有更多):

    7.5.0.17 Date: 05_03_10
7.5.0.18 Date: 05_03_10
7.5.0.19 Date: 05_04_10
7.5.0.2 Date: 02_19_10
7.5.0.20 Date: 05_06_10
7.5.0.3 Date: 02_26_10
7.5.0.4 Date: 03_02_10
7.5.0.5 Date: 03_08_10
7.5.0.6 Date: 03_12_10
7.5.0.7 Date: 03_19_10
7.5.0.8 Date: 03_25_10
7.5.0.9 Date: 03_26_10
7.5.1.0 Date: 05_06_10

如何按版本降序对这些字符串进行排序?

最佳答案

制作一个将版本转换为数字的键选择器:

string[] versions = {
"7.5.0.17 Date: 05_03_10",
"7.5.0.18 Date: 05_03_10",
"7.5.0.19 Date: 05_04_10",
"7.5.0.2 Date: 02_19_10",
"7.5.0.20 Date: 05_06_10",
"7.5.0.3 Date: 02_26_10",
"7.5.0.4 Date: 03_02_10",
"7.5.0.5 Date: 03_08_10",
"7.5.0.6 Date: 03_12_10",
"7.5.0.7 Date: 03_19_10",
"7.5.0.8 Date: 03_25_10",
"7.5.0.9 Date: 03_26_10",
"7.5.1.0 Date: 05_06_10"
};

versions = versions.OrderBy(
s => s.Substring(0, s.IndexOf(' ')).Split('.')
.Aggregate(0, (n, v) => n * 100 + Int32.Parse(v))
).ToArray();

foreach (string s in versions) Console.WriteLine(s);

输出:
7.5.0.2 Date: 02_19_10
7.5.0.3 Date: 02_26_10
7.5.0.4 Date: 03_02_10
7.5.0.5 Date: 03_08_10
7.5.0.6 Date: 03_12_10
7.5.0.7 Date: 03_19_10
7.5.0.8 Date: 03_25_10
7.5.0.9 Date: 03_26_10
7.5.0.17 Date: 05_03_10
7.5.0.18 Date: 05_03_10
7.5.0.19 Date: 05_04_10
7.5.0.20 Date: 05_06_10
7.5.1.0 Date: 05_06_10

关于.net - 如何打破这个字符串并按版本号排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2830977/

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