Laden...

Realisieren und Kommunizieren, (d.h. Klassendiagramm) in C# einen CSVReader mit folgender Schnittstelle aus einer CSV Datei Person einlesen und als List<IPerson> zurückgeben.

Erstellt von Michaell vor 2 Jahren Letzter Beitrag vor 2 Jahren 443 Views
M
Michaell Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren
Realisieren und Kommunizieren, (d.h. Klassendiagramm) in C# einen CSVReader mit folgender Schnittstelle aus einer CSV Datei Person einlesen und als List<IPerson> zurückgeben.

Hallo Zusammen,
aufgrund bin ich ganz Anfänger in C#, versuche ich diese Aufgabe mit Klassendiagramm zu lösen. Es ist sehr wichtig, dass diese Aufgabe mit Klassendiagramm schreiben.
Hier ist Hinweis auch:

// path to the csv file



            if (path == null) path = "persons.csv";

            string[] lines = System.IO.File.ReadAllLines(path);
            //for skipping header
            lines = lines.Skip(1).ToArray();

            foreach (string line in lines)
            {
                string[] column = line.Split(',');
                // foreach (string column in columns) {

                // Do something        
                string lastname = column[0];
                string firstname = column[1];
                int age = Convert.ToInt32(column[2]);

Hinweis von Abt vor 2 Jahren

Bitte in Zukunft selbst den Code in Tags packen.
[Hinweis] Wie poste ich richtig?

16.825 Beiträge seit 2008
vor 2 Jahren

Was ist Deine Frage, wo kommst Du nicht weiter?
Das Forum wird nicht Deine Hausaufgaben machen 😉

Siehe [Hinweis] Wie poste ich richtig?

3.825 Beiträge seit 2006
vor 2 Jahren

Ist das für die Luca App ?

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

M
Michaell Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren

Hier habe ich einfache über CSV einzulesen geschrieben:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace dataCSV
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"C:\Users\Michael\Desktop\person.csv";

            if (!File.Exists(path))
            {
                string[] createText = { "Hello", "And", "Welcome" };
                File.WriteAllLines(path, createText);
            }

            string appendText = "This is extra Text" + Environment.NewLine;
            File.AppendAllText(path, appendText);

            string[] readText = File.ReadAllLines(path);

            foreach (string s in readText)
            {
                Console.WriteLine(s);
            }
        }
    }
}

Aber jetzt will ich die Klasse von Person erschaffen, dass die Eigenschaften haben muss: Name, Vorname, Alt usw.
Diese Klasse muss mit Klassendiagramm schreiben werden.
Die Frage ist: Wie kann ich meine Codes in Klassendiagramm mit Eigenschaften schreiben?

309 Beiträge seit 2020
vor 2 Jahren

Aber jetzt will ich die Klasse von Person erschaffen, dass die Eigenschaften haben muss: Name, Vorname, Alt usw.
Diese Klasse muss mit Klassendiagramm schreiben werden.
Die Frage ist: Wie kann ich meine Codes in Klassendiagramm mit Eigenschaften schreiben?

Und wo ist das Problem?
Verwenden des Klassen-Designers - Visual Studio

Im Klassendesigner kannst du die Felder, Methoden,.. definieren, deinen Code schreibst du dann in der cs-Datei.

M
Michaell Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren

Ne, das war nur ein einfache Konsole App, dass man CSV Datei einlesen kann.

309 Beiträge seit 2020
vor 2 Jahren

Ja das kann man so machen, und was ist jetzt deine Frage?


    string[] column = line.Split(',');
    // foreach (string column in columns) {

    // Do something
    string lastname = column[0];
    string firstname = column[1];
    int age = Convert.ToInt32(column[2]);

wird zu:



    string[] column = line.Split(',');
    // foreach (string column in columns) {

    var person = new Person();
    person.Lastname = column[0];
    person.Firstname = column[1];
    person.Age = Convert.ToInt32(column[2]);