目前,我使用Selenium从网站获取Release Version
,并将其存储为字符串。
发布版本为14.14
,14.14.4
,14.15
,14.15.1
,14.15.2
等。
我需要使用C#对它们进行排序,并且数据库管理员需要能够使用SQL对它们进行排序。所有Release Version
项目当前都存储为字符串。
如果重要的话,我会使用LINQ to SQL执行所有SQL操作。
在C#和SQL中对它们进行排序的最佳方法是什么?作为字符串?或者我应该转换它们?转换它们时会使用哪种数据类型?
答案 0 :(得分:2)
在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
这是一个显示如何对数据库中的版本进行排序的问题:How Can I Sort A 'Version Number' Column Generically Using a SQL Server Query
答案 1 :(得分:1)
如果您可以来回转换它,那么将版本转换为int。由于版本最多有3个部分,只需将其转换为{0} * 10000 + {1} * 100 + {2}