Strings

De class String

Een belangrijk onderdeel van een programma is het werken met tekst. Zo zal je bijvoorbeeld boodschappen voor de gebruiker voorzien, met gegevens uit databanken werken, … De class String is een onderdeel van de .NET Framework Class Library. In deze class zitten o.a. reeds voorgeprogrammeerde properties en methods die je in je programma kan gebruiken. In dit hoofdstuk bespreken we enkele handige properties en methods.

Je vindt een beschrijving van de class String onder de volgende link.

Raadpleeg de beschrijving van de class String bij het uitwerken van de oefeningen. Je vindt er immers handige methods in terug die je kan gebruiken bij het opstellen van je code.

String properties

De class String bevat volgende properties:

Property Beschrijving
Chars[Int32] Geeft het karakter dat zich op de, tussen vierkante haken, aangegeven positie in het String object bevindt.
Length Geeft het aantal karakters in het String object.

Hierna volgen enkele voorbeelden waarbij gebruik gemaakt wordt van de properties van de class String:

De karakters van een string aanspreken

D.m.v. Chars[Int32] kan elk karakter van de string apart aangesproken worden. De index tussen de vierkante haken geeft de positie van de letter aan. Let op, net zoals bij arrays begint ook hier de index op 0.

Voorbeeld:

String sentence = "This is a string";
char firstLetter = sentence[0];
char fourthLetter = sentence[3];
Console.WriteLine($"The first letter {firstLetter}");
Console.WriteLine($"The fourth letter {fourthLetter}");

/* Uitvoer:
  The first letter T
  The fourth letter s
*/

Werk efficiënt! Zorg dat je de reeds voorziene classes en hun bijbehorende properties en methods leert kennen. Indien je een functionaliteit nodig hebt in je programma, kijk dan eerst na of deze nog niet voorzien is in C#.

Doorlopen van de karakters van een string

D.m.v. foreach kan elk karakter van een string doorlopen worden.

String sentence = "This is a string";

foreach (char c in sentence)
{
    Console.WriteLine($"Letter: {c}");
}

/* Uitvoer:
  Letter T
  Letter h
  Letter i
  ...
  Letter g
*/

Ook d.m.v. for in combinatie met de property Length kunnen de karakters van een string doorlopen worden.

String sentence = "This is a string";

for (int i = 0; i < sentence.Length; i++)
{
    Console.WriteLine($"Letter {i+1}: {sentence[i]}");
}

/* Uitvoer:
  Letter 1: T
  Letter 2: h
  Letter 3: i
  ...
  Letter 16: g
  
*/

Waar foreach de string automatisch op een correcte manier doorloopt, moet je bij for zelf de correcte indices voorzien. Geef dus de voorkeur aan foreach en gebruik for enkel indien de toepassing dit vereist en je de index nodig hebt.

String methods

De class String bevat een groot aantal ingebouwde methods. Hieronder bespreken we Substring(). Tijdens de oefeningen maak je ook kennis met andere methods.

De method Substring() wordt gebruikt om een deel van een stringvariabele af te zonderen. Er bestaan twee overloaded versies van deze method:

Method Beschrijving
Substring(Int32) Vanaf de positie die aangegeven wordt tussen de haakjes worden alle karakters teruggegeven.
Substring(Int32, Int32) De eerste integer geeft aan vanaf welke positie karakters teruggegeven moeten worden. De tweede integer geeft aan hoeveel karakters teruggegeven moeten worden.

Opmerking: Om de startpositie te bepalen, begin je ook hier weer te tellen vanaf 0. Zorg dat je eveneens steeds indices gebruikt die binnen de range van de string-variabele liggen om een IndexOutOfRangeException tijdens de runtime te vermijden.

Voorbeeld:

String sentence = "This is a string";
String partOfSentence;

// Enkel de startpositie is opgegeven
partOfSentence = sentence.Substring(8);
Console.WriteLine($"Part of the string starting at position 8: {partOfSentence}");

// Startpositie en aantal te weerhouden karakters zijn opgegeven
partOfSentence = sentence.Substring(8, 4);
Console.WriteLine($"4 characters of the string starting at position 8: {partOfSentence}");

/* Uitvoer:
  Part of the string starting at position 8: a string
  4 Characters of the string starting at position 8: a st 
*/

Open het project oefening-strings-1 en maak de oefeningenreeks

Kijk bij het uitwerken van de oefeningen steeds na of er een method in de System.String class voorzien is die je kan gebruiken bij het uitwerken van de oefening.


Previous section:
Next section:
Navigatie