如何预先添加到StringBuilder?

Ama*_*nut 1 vb.net string stringbuilder prepend

VB.NET有一个方法,就像java一样,附加到StringBuilder类型的对象 但是我可以在这个对象之前添加(我的意思是在stringbuilder值之前添加一些字符串,而不是之后).这是我的代码:

'Declare an array
    Dim IntegerList() = {24, 12, 34, 42}
    Dim ArrayBefore As New StringBuilder()
    Dim ArrayAfterRedim As New StringBuilder()
    ArrayBefore.Append("{")
    For i As Integer = IntegerList.GetLowerBound(0) To IntegerList.GetUpperBound(0)
        ArrayBefore.Append(IntegerList(i) & ", ")
    Next
    ' Close the string
    ArrayBefore.Append("}")
    'Redimension the array (increasing the size by one to five elements)
    'ReDim IntegerList(4)

    'Redimension the array and preserve its contents
    ReDim Preserve IntegerList(4)

    ' print the new redimesioned array
    ArrayAfterRedim.Append("{")
    For i As Integer = IntegerList.GetLowerBound(0) To IntegerList.GetUpperBound(0)
        ArrayAfterRedim.Append(IntegerList(i) & ", ")
    Next
    ' Close the string
    ArrayAfterRedim.Append("}")

    ' Display the two arrays

    lstRandomList.Items.Add("The array before: ")
    lstRandomList.Items.Add(ArrayBefore)
    lstRandomList.Items.Add("The array after: ")
    lstRandomList.Items.Add(ArrayAfterRedim)
Run Code Online (Sandbox Code Playgroud)

如果你查看我的代码的最后4行,我想在我的列表框控件中的字符串生成器之前添加文本.所以不是这样的:

 lstRandomList.Items.Add("The array before: ")
    lstRandomList.Items.Add(ArrayBefore)
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

lstRandomList.Items.Add("The array before: " & ArrayBefore)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ark 10

您可以使用StringBuilder.Insert前置到字符串生成器:

Dim sb = New StringBuilder()
sb.Append("World")
sb.Insert(0, "Hello, ")
Console.WriteLine(sb.ToString())
Run Code Online (Sandbox Code Playgroud)

这输出:

Hello, World
Run Code Online (Sandbox Code Playgroud)

编辑

哎呀,注意到@dbasnett在评论中说了同样的话......