Laden...

Namensliste in csv-Datei Vornamen alphabetisch sortieren

Erstellt von shutouke vor einem Jahr Letzter Beitrag vor einem Jahr 589 Views
S
shutouke Themenstarter:in
1 Beiträge seit 2022
vor einem Jahr
Namensliste in csv-Datei Vornamen alphabetisch sortieren

Hallo,
Ich schreibe gerade ein Programm das mich an Geburtstage erinnern soll.
Meine Frage:

Wie sortiere ich in einer csv Datei die Vornamen alphabetisch und programmiere in einem das nach jedem neuen Eintrag nach dem Vornamen(Nachnamen etc.) die Liste automatisch sortiert nach dem Alphabet.

Ich würde mich sehr über einen Codevorschlag freuen

shutouke

2.080 Beiträge seit 2012
vor einem Jahr

Gar nicht - zumindest nicht so direkt in der Datei.
Zum Sortieren musst Du die Liste komplett lesen, dann sortieren und anschließend wieder komplett in die Datei schreiben

Zum lesen bzw. schreiben hilft der CsvHelper
Zum Sortieren die LINQ-Methode Enumerable.OrderBy (Api-Docs)

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

M
368 Beiträge seit 2006
vor einem Jahr

Oder mit Python: https://www.geeksforgeeks.org/how-to-sort-data-by-column-in-a-csv-file-in-python/ (das Panda-Paket ist analog zum CsvHelper eine Fremdbibliothek)

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉

6.911 Beiträge seit 2009
vor einem Jahr

Hallo shutouke,

Ich schreibe gerade ein Programm das mich an Geburtstage erinnern soll.

Statt einer CSV kannst du dafür auch eine "richtige" Datenbank verwenden. Es gibt auch Datenbanken die ohne Server auskommen (z.b. SQLite).
Dann brauchst du dich ums Sortieren beim Einfügen nicht kümmern und kann die Prüfung auf Geburtstag recht einfach per Abfrage gegen die DB durchführen.

Wenns um den Lerneffekt geht, so mach beide Varianten: CSV und DB. Da lernst du viel und kannst selbst über die Vor-/Nachteile jeder Variante sinnieren.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"