将String转换为表示字符代码的短整数数组的最快方法是什么?
我现在正在使用它,但它可能会更快:
Dim shortsarray(mystring.Length - 1) as Short
For i As Integer = 0 To mystring.Length - 1
shortsarray(i) = AscW(mystring.Chars(i))
Next
感谢。
答案 0 :(得分:1)
我不知道你要解决什么样的问题。但是,作为替代方法,您可以将字符串转换为字符数组
Dim chars() As Char = mystring.ToCharArray()
答案 1 :(得分:0)
Dim shortsarray(mystring.Length - 1) as Short //One calculation
For i As Integer = 0 To mystring.Length - 1 //One calculation, repeats n times
shortsarray(i) = AscW(mystring.Chars(i)) //Three calculations, repeats n times
Next
结果,这应该在O(3n + 1)或O(n)中运行。这与输入的长度呈线性关系,并且由于您正在进行字符转换,因此您可以从中获得很大的改进。我认为这可能和你期望的一样好,尽管可能有一个库只能一次性转换整个单词,使你的代码更清晰。
如果您需要提高性能,首先需要对整个程序进行分析。这个片段可能不是问题。