对包含两个不同小数位的发布版本进行排序

本文关键字:版本 排序 布版本 包含两 小数 | 更新日期: 2023-09-27 18:24:27

目前,我从一个使用Selenium的网站上获得Release Version,并将其存储为字符串。

发布版本为14.1414.14.414.1514.15.114.15.2等。

我需要使用C#对它们进行排序,数据库管理员需要能够使用SQL对它们进行分类。所有Release Version项目当前都存储为字符串。

如果重要的话,我会使用LINQ to SQL来完成我所有的SQL工作。

在C#和SQL中对它们进行排序的最佳方式是什么?作为字符串?或者我应该转换它们?如果转换它们,将使用什么数据类型?

对包含两个不同小数位的发布版本进行排序

在C#中,您可以将它们存储为(或至少转换为)Version,它也支持正确的排序:

var strings = new List<string> { "14.14", "14.14.4", "14.15", "14.15.1", "14.15.2" };
var versions = strings.Select(v => Version.Parse(v)).ToList();
versions.Sort();  // or OrderBy in the LINQ query above

这里有一个问题展示了如何在数据库中对版本进行排序:我如何对a';版本号';列一般使用SQL Server查询

如果您可以来回转换它,那么将版本转换为int。由于版本最多有3个部分,只需将其转换为{0}*10000+{1}*100+{2}