Sisältö - Merkkijonot - String - StringBuilder - Esimerkki projekti

StringBuilder

StringBuilder luokkaa voidaan käyttää merkkijonojen käsittelyyn kuten Stringiäkin. Johtuen muistin erilaisesta käytöstä, StringBuilder on usein nopeampi.

Esittely ja alustus

        'esittely ja alustus
        Dim sb As System.Text.StringBuilder
        sb = New System.Text.StringBuilder ' tyhjä
        sb = New System.Text.StringBuilder(100) ' pituus
        sb = New System.Text.StringBuilder(100, 400) ' pituus ja max pituus
        sb = New System.Text.StringBuilder("Putka") 'tekstistä
        Dim sb2 As System.Text.StringBuilder

Sijoitus

        'Sijoitus toiseen (sb2=sb Ei toimi oikein)
        sb2 = New System.Text.StringBuilder(sb.ToString)

Merkkijonon muutokset

        'takaisin tekstiksi
        Dim str As String
        str = sb.ToString
        '
        'Luku keskeltä
        str = sb.ToString(2, 3) ' alku pituus
        '
        ' Sanan korvaus toisella
        sb.Replace("Putka", "Ohjelmointiputka")
        '
        ' Rajoitetulta alueelta sanan korvaus toisella
        sb.Replace("mointi", "ma", 0, 12)
        str = sb.ToString 'Ohjelmaputka
        '
        'Merkin korvaaminen toisella
        sb.Replace("p"c, "P"c)
        str = sb.ToString 'OhjelmaPutka
        '
        'Rajoitetulta alueelta merkin korvaus toisella
        sb.Replace("P"c, "p"c, 0, 10)
        str = sb.ToString 'Ohjelmaputka
        '
        'Merkkien poisto alkaen, pituus
        sb.Remove(0, 7) 'putka
        str = sb.ToString
        '
        ' Tekstin lisääminen haluttuun kohtaan
        sb.Insert(0, "Ohjelmointi") 'sekä 17 muuta tapaa
        str = sb.ToString
        '
        ' Tekstin liittäminen perään
        sb.Append(" Rules") ' + 18 muuta argumenttiyhdistelmää

Ominaisuudet

        'Maksimi pituus
        Dim i As Integer = sb.MaxCapacity ' yli 2gigaa
        '
        ' Pituuden luku ja muuttaminen
        i = sb.Length '5
        sb.Length = 15
        i = sb.Length '15
        '
        ' Merkki haluttuun paikkaan
        sb.Chars(2) = "Ö"c
        str = sb.ToString
        Dim ch As Char = sb.Chars(2) '"Ö"c
        '
        ' Kapasiteetin muutos
        sb.Capacity = 150
        str = sb.ToString
        '
        ' Kapasiteetin varmistus (sama tai yli annetun arvon)
        i = sb.EnsureCapacity(18) 'i= uusi kapasiteetti
        '
        'Onko sama
        Dim totuus As Boolean = sb.Equals(Nothing)
        totuus = sb.Equals(sb)