Bewerkingen met Strings Hoofdstuk 16 Hoofdstuk 16
Visual Basic .NET voor studenten In dit hoofdstuk … Bewerkingen met String objecten Efficiënt programmeren met StringBuilder objecten Visual Basic .NET voor studenten
Strings gebruiken: herhaling Dim x As String Dim y As String = "Nederland" x = "België" y = "Duitsland" y = x x = "" of x = String.Empty MessageBox.Show("Ik woon in " & y) x = x & "iets" If x = "Duitsland" ... End If If y.Equals("Nederland") Declaratie Toekenning De lege String Concatenatie (Samenvoegen) Appending (Uitbreiden) Vergelijken Visual Basic .NET voor studenten
Strings gebruiken: herhaling Dim cities(10) As String Dim n As Integer = 3 x = CStr(n) y = "123" n = CInt(y) Array van Strings Typeconversies Visual Basic .NET voor studenten
Visual Basic .NET voor studenten Stringindices p o s i b l e 1 2 3 4 5 6 7 Een String object beheert een array van letters. Elke letter wordt voorgesteld door een 2-byte positief getal uit de Unicode tekenset (hetgeen backwards compatible is met ASCII) Visual Basic .NET voor studenten
Visual Basic .NET voor studenten Tekens in een String Als je dubbele quotes wil opnemen, dien je deze te “escapen” Controle karakters bevinden zich in een aparte Namespace TextBox1.Text = "Het woord ""Object""" Imports Microsoft.VisualBasic.ControlChars ... Dim s As String = "Tom" & NewLine & "Jerry" Visual Basic .NET voor studenten
Visual Basic .NET voor studenten Strings vergelijken = vergelijkt de waarde van String objecten >, <, >=, <= vergelijken String objecten alfabetisch Visual Basic .NET voor studenten
Methoden en Properties Testprogramma Je kan nieuwe code uittesten onder ‘place example code here’ Formuleer je bedenkingen over deze aanpak … Visual Basic .NET voor studenten
Methoden en Properties Gebruik het testprogramma om volgende methoden uit te proberen ToLower, ToUpper, Trim, Insert, Remove Length, Substring, IndexOf, IsNumeric, Split, LastIndexOf, StartsWith, EndsWith Bestudeer ook de online Help van deze methoden en properties Visual Basic .NET voor studenten
Visual Basic .NET voor studenten Voorbeeld: Split Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles DoItButton.Click Dim string1 As String = String1Box.Text Dim string2 As String = String2Box.Text Dim resultString As String Dim n, m As Integer Dim words() As String 'place example code here words = Split(string1, ",") For n = 0 To UBound(words) words(n) = words(n).Trim() Next resultString = resultString & "[" & words(n) & "] " ResultLabel.Text = resultString End Sub Visual Basic .NET voor studenten
Visual Basic .NET voor studenten Voorbeelden Handboek: “Een voorbeeld van stringbewerking” zelf bestuderen Handboek: “Case study: Frasier” zelf bestuderen Visual Basic .NET voor studenten
Bewerkingen met StringBuilder Strings zijn Immutable Elke stringbewerking geeft aanleiding tot een nieuw object Dim naam As String naam = TextBox1.Text naam = naam.ToUpper() ToUpper() zorgt ervoor dat er een nieuwe string toegekend wordt aan de variabele naam, het oude object wordt weggegooid Visual Basic .NET voor studenten
Bewerkingen met StringBuilder Dim artikel As String artikel = String.Empty While AlleWoordenVerwerkt() artikel = artikel & LeesVolgendWoord() End While TextBox1.Text = artikel Probleem: zeer veel weggooien van objecten de garbage collector neemt teveel CPU tijd in beslag ten nadele van het feitelijke programma! Visual Basic .NET voor studenten
Bewerkingen met StringBuilder Benodigde namespace Imports System.Text ... Dim artikelbuilder As New StringBuilder() While AlleWoordenVerwerkt() artikelbuilder.Append(LeesVolgendWoord()) End While TextBox1.Text = artikelbuilder.ToString() Een leeg StringBuilder object dient om hierin een string “op te bouwen” Voegt een string toe, zonder extra objecten aan te maken en oude weg te gooien Conversie naar string Visual Basic .NET voor studenten