我正在开发一个我公司开发的程序的更新工具。要更新程序,我需要执行一些SQL脚本。这些脚本必须具有正确的顺序(当然)。我有一个列表。 SqlScriptModel有一个'Name'属性,我用来对列表进行排序。 SQL-Scripts-Name以Programm-Version开头(例如:5.8.1.0)。目前,我的'排序的名单看起来是这样的:使用字符和数字排序列表<>
5.8.0.1 - Update Script
5.8.0.10 - Update Script
5.8.0.11 - Update Script
5.8.0.2 - Update Script
当然的5.8.0.10
脚本需要5.8.0.2
脚本后执行。
我的代码如下所示:
SqlScriptList.Sort((x, y) => string.Compare(x.Name, y.Name));
已经有人已经有同样的问题?或有链接到有效的解决方案?我会非常感谢!
http://stackoverflow.com/questions/2217029/sort-string-list-with-numeric-values –
你可以的PInvoke StrCmpLogicalW:https://msdn.microsoft。 com/library/windows/desktop/bb759947(v = vs.85).aspx – Henrik