Arrays 在具有最高版本号的数组中查找字符串

Arrays 在具有最高版本号的数组中查找字符串,arrays,vb.net,visual-studio,Arrays,Vb.net,Visual Studio,我正在制作一个简单的脚本,用于升级用户正在使用的脚本。此脚本应检查当前工作文件夹的最新版本,并将版本增加1 下面是我正在使用的一个文件夹的示例,它按名称排序 > TES_DAS_010_COMP_ARTIST_v001_01.comp > TES_DAS_010_COMP_ARTIST_v005_01.comp > TES_DAS_010_COMP_ESKI_v002_01.comp > TES_DAS_010_COMP_ESKI_v004

我正在制作一个简单的脚本,用于升级用户正在使用的脚本。此脚本应检查当前工作文件夹的最新版本,并将版本增加1

下面是我正在使用的一个文件夹的示例,它按名称排序

>     TES_DAS_010_COMP_ARTIST_v001_01.comp
>     TES_DAS_010_COMP_ARTIST_v005_01.comp
>     TES_DAS_010_COMP_ESKI_v002_01.comp
>     TES_DAS_010_COMP_ESKI_v004_01.comp
>     TES_DAS_010_COMP_ESKI_v004_02.comp
>     TES_DAS_010_COMP_ESKI_v004_03.comp
>     TES_DAS_010_COMP_ESKI_v006_01.comp
>     TES_DAS_010_COMP_ESKI_v007_01.comp
>     TES_DAS_010_COMP_NEWGUY_v008_01.comp
>     TES_DAS_010_COMP_NEWGUY_v003_01.comp
现在我有了用户ESKI,它将升级版本。因此,我需要找到一种方法来确定什么是最新版本,以及从中获得的增量。 在本例中,当前版本为“TES_DAS_010_COMP_NEWGUY_v008_01.COMP”


如何确定最新文件的目标,以便制作一个名为“TES_DAS_010_COMP_ESKI_v009_01.COMP”的新版本?

这只是一个基本的指导,也许我在这里遗漏了一些东西,但这似乎只是一个带有转换和比较检查的标准循环,对吗?如果我遗漏了一个复杂的部分,请原谅我


使用循环遍历数组,找到版本号的常量起始索引,可能使用“_v”作为搜索条件,然后获取从新计算的起始索引开始到3个字符结束的字符串的值,解析/转换三个字符的字符串为数字,将其存储在比较变量中,并检查循环的每个迭代是否大于当前存储的最高值。完成后,您就有了自己的号码,您可能可以使用linq来完成这项工作,只需一小段代码。

似乎您也有子版本。它们有用吗?如果这些都是自动生成的,你可以查看最新的创建日期。市长版是我想要的。这不是个坏主意,它们都是由脚本创建的,所以理论上它们都应该有正确的时间戳。如果手动强制检查,我会感觉更好:)所以你要做的就是把这些字符串中的每一个都取出来,然后将主v版本号增加一个?这应该可以,我只是想得太多了……)不,实际上。。如果我能整理出最高版本并获得整个字符串名称,那将是非常棒的。我想我正在寻找一种方法。可能将其放入2列数组并按版本排序..?如果您只需要最高版本的字符串-当您在循环中存储/检查比较变量时,您可以将整个字符串存储在其他变量中,或者让比较变量是字典或其他构造,并存储当前解析的最高比较版本号,然后可以存储整个字符串本身或最高值的数组索引,并在以后使用它时进行查找。如果希望它是可排序的,那么可以在使用要排序的版本列进行解析时重新创建数组。