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 Char object 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 {0}", firstLetter);
Console.WriteLine("The fourth letter {0}", fourthLetter);

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

Opmerking: De class String bevat een method om de eerste letter van een string-variabele aan te spreken, namelijk First(). De variabele firstLetter uit het vorige voorbeeld kan dus met deze method geïnitialiseerd worden. Voor het laatste karakter van een stringvariabele bestaat er een vergelijkbare method Last().

String sentence = "This is a string";
char firstLetter = sentence.First();
char lastLetter = sentence.Last();
Console.WriteLine("The first letter {0}", firstLetter);
Console.WriteLine("The last letter {0}", lastLetter);

/* Uitvoer:
  The first letter T
  The last letter g
*/

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 aangesproken worden.

String sentence = "This is a string";

foreach (char c in sentence)
{
    Console.WriteLine("Letter: {0}", 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 {0}: {1}", 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 indexen voorzien. Geef dus de voorkeur aan foreach en gebruik for enkel indien de toepassing dit vereist.

String methods

In de class String vind je een overzicht van de methods die binnen de klasse voorzien zijn. Als voorbeeld wordt hieronder de method Substring() besproken. In de oefeningen zal je ook met andere methods aan de slag gaan.

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 van de string weerhouden.
Substring(Int32, Int32) De eerste integer geeft aan vanaf welke positie karakters weerhouden moeten worden. De tweede integer geeft aan hoeveel karakters weerhouden moeten worden.

Opmerking: Om de startpositie te bepalen, begin je ook hier weer te tellen vanaf 0.

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: {0}", 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: {0}", 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