vb.net string.split vs substring.lastindexof - 哪个更快或'更好'

时间:2016-04-07 14:36:16

标签: vb.net string split substring lastindexof

我有一个循环读取很多字符串,每个字符串包含由char(¥)分割的信息。 对于这个循环,我只需要最终值,我知道索引。我想知道使用string.split是否更好,或者使用substring.lastindexof。

如果有帮助,拆分索引为8。

哪个会更快。 另外,我选择的char对分裂有什么影响吗? (例如,¥vs`“)

感谢。

1 个答案:

答案 0 :(得分:0)

人们似乎倾向于字符串(lastindexof)而不是string.split - 我只是做了一个小的计时器测试,看看哪个更快。

For count As Integer = 0 To existing.Count - 1
        If File.Exists(existing(count).Substring(existing(count).LastIndexOf("¥") + 1)) Then 'File.Exists(existing(count).Split(CChar("¥"))(8)) Then
            outputfile.Add(existing(count))
        Else
            outputfile.Add(String.Empty)
        End If
        Next

现在,这种情况下的字符串用于mp3标记信息和路径。它们通常看起来像

“在凯旋演示中使用¥Apostle在凯旋演示中的使徒¥1:41¥1¥1984¥渐进式死亡/厄运/民间金属¥C:\用户\黑色\音乐\操作\使者在凯旋演示中\ Opeth - Aumptle In Triumph Demo Part 1.mp3“

因此它会检查文件是否存在(使用existing(count).split(cchar("¥"))(8))existing(count).Substring(existing(count).lastindexof("¥") + 1))到8022字符串,然后将值放入列表中。

在我测试这两种方法的10次中,分割方法总是更快 - 平均减少32毫秒,或者快2.27%。

我做错了吗?