Gegevens uit een regel splitsenGegevens uit een regel splitsen
Spread the love

Stap voor stap uitleg

  1. De statische klasse:
    • De LeesSchrijf-klasse is statisch, wat betekent dat je geen objecten van deze klasse hoeft te maken om de methode aan te roepen. Je kunt de methode direct oproepen met LeesSchrijf.LeesBestand().
  2. De methode LeesBestand():
    • Deze methode leest een bestand genaamd sporten.txt en slaat elke regel van het bestand op in een lijst (List<string>).
    • We controleren eerst of het bestand bestaat met File.Exists(bestandnaam). Als het bestand niet bestaat, wordt er een melding naar de console gestuurd.
  3. Gebruik van StreamReader:
    • We gebruiken StreamReader om het bestand te openen en te lezen. Het using-blok zorgt ervoor dat het bestand correct wordt afgesloten nadat we klaar zijn met lezen.
    • ReadLine() leest elke regel van het bestand, en Trim() verwijdert overbodige spaties aan het begin en eind van elke regel.
  4. Het resultaat:
    • De inhoud van het bestand wordt opgeslagen in de lijst sporten. Deze lijst wordt vervolgens teruggegeven aan de aanroepende methode.

Wanneer je de methode LeesBestand() aanroept, zal de lijst sporten de volgende waarden bevatten:

  • Voetbal
  • Basketbal
  • Tennis
  • Zwemmen

…..

Zie hieronder de code die we als oefening op bovenstaande geschreven hebben.

Leraar.cs

public class Leraar

{

    public int Id { get; set; }

    public string Achternaam { get; set; }

    public string Voornaam { get; set; }

    public double Uurloon { get; set; }

    public Leraar(int id, string achternaam, string voornaam, double uurloon)

    {

        Id = id;

        Achternaam = achternaam;

        Voornaam = voornaam;

        Uurloon = uurloon;

    }

}

LeesSchrijf.cs

public static class LeesSchrijf

{

    public static List<Leraar> LeesBestand()

    {

        string bestandnaam = “c:\\code\\leraren.txt”;

        List<Leraar> leraren = new List<Leraar>();

        if (File.Exists(bestandnaam))

        {

            using (StreamReader teLezenBestand = new StreamReader(bestandnaam))

            {

                while (!teLezenBestand.EndOfStream)

                {

                    string record = teLezenBestand.ReadLine().Trim();

                    string[] recordsplits = record.Split(“;”);

                    Leraar leraar = new Leraar(

                        Convert.ToInt32(recordsplits[0]),

                        recordsplits[1],

                        recordsplits[2],

                        Convert.ToDouble(recordsplits[3])

                    );

                leraren.Add(leraar);          

                }

            }

        }

    else

    {

        Console.WriteLine(“Bestand bestaat niet”);  

    }

    return leraren;

    }

}

Program.cs

List<Leraar> lerarenLijst = LeesSchrijf.LeesBestand();

foreach (var item in lerarenLijst)

{

    Console.WriteLine();

    Console.WriteLine(“Gegevens persoon:”);

    Console.WriteLine($”ID: {item.Id}”);

    Console.WriteLine($”Voornaam: {item.Voornaam}”);

    Console.WriteLine($”Achternaam: {item.Achternaam}”);

    Console.WriteLine($”Uurloon: {item.Uurloon}”);

    Console.WriteLine();

}

Door alfons

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *