When you migrate code from VB6 - regardless of whether you are using an automatic conversion tool - chances are that string-intensive code will actually run slower under VB.NET, if it uses a lot of string concatenation operations. For example, this code takes 2.8 seconds when it runs in VB6 and 27 seconds after its conversion to VB.NET on my 3GHz system:
Dim s As String = ""
For i As Integer = 1 To 100000
s = s + "*"
Next
The solution is of course trivial: just replace the string variable with a StringBuilder object. Alas, this fix requires that you completely revise your source code, because you need to replace all + and & operators with the Append method, not to mention cases where the StringBuilder is used as an argument to string functions such as Trim or Len.
Is there a way to speed up the previous code with a minimal impact on the code itself? The answer is yes and the solution is actually very simple: you just need to create a VB.NET class that is based on the System.Text.StringBuilder object, that redifines the + and & operators, and that supports the implicit conversion to and from the System.String type. Authoring such a StringBuilder6 class is a matter of minutes:
' a wrapper for the StringBuilder object, with support for + and & operators
Public
Class StringBuilder6
Private buffer As New System.Text.StringBuilder
' return the inner string
Public Overrides Function ToString() As String
Return buffer.ToString()
End Function
Public Shared Operator +(ByVal op1 As StringBuilder6, ByVal op2 As String) As StringBuilder6
op1.buffer.Append(op2)
Return op1
End Operator
Public Shared Operator &(ByVal op1 As StringBuilder6, ByVal op2 As String) As StringBuilder6
op1.buffer.Append(op2)
Return op1
End Operator
' convert to string
Public Shared Widening Operator CType(ByVal op As StringBuilder6) As String
Return op.ToString()
End Operator
' convert from string
Public Shared Widening Operator CType(ByVal str As String) As StringBuilder6
Dim op As New StringBuilder6()
op.buffer.Append(str)
Return op
End Operator
End Class
Once the StringBuilder6 class is in place, you just need to replace the type of the String variable:
Dim s As StringBuilder6 = ""
After this edit, the loop runs in 0.008 seconds, that is about 2000 times faster!!! Not bad, for such a simple fix 
Regardless of whether you are migrating code from VB6 or you've written VB.NET or C# code from scratch, the StringBuilder class gives you a quick and simple way to check whether your string concatenations can be optimized by resorting to a StringBuilder.