快速将字符串转换为整数数组

时间:2012-04-10 19:20:02

标签: vb.net string

将String转换为表示字符代码的短整数数组的最快方法是什么?

我现在正在使用它,但它可能会更快:

Dim shortsarray(mystring.Length - 1) as Short
For i As Integer = 0 To mystring.Length - 1
  shortsarray(i) = AscW(mystring.Chars(i))
Next

感谢。

2 个答案:

答案 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)中运行。这与输入的长度呈线性关系,并且由于您正在进行字符转换,因此您可以从中获得很大的改进。我认为这可能和你期望的一样好,尽管可能有一个库只能一次性转换整个单词,使你的代码更清晰。

如果您需要提高性能,首先需要对整个程序进行分析。这个片段可能不是问题。