c#, wie teste ich ob ein bestimmtes wort in einer text datei steht?
Ich möchte in c# eine konsolen anwendung programmieren in der sich der user registrieren kann.. damit es nicht zu komplikationen mit doppelten benutzernamen kommt möchte ich gerne testen ob der angegebene benutzername schon in der datei vorhanden is.. also das programm soll die ganze text datei durchfahren und schauen ob in einer zeile das gleiche wie der angegebene benutzername steht(schreibe immer nur ein wort pro zeile)
danke
4 Antworten
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Ich sag nicht dass es das idealste ist, aber man könnte mit einer For Schleife durch die einzelnen Wörter gehen und für jedes testen ob es dem gesuchten entspricht...
![](https://images.gutefrage.net/media/user/Berny96/1459036936798_nmmslarge__10_10_180_180_41891bff6619e836b62841f69ed73f09.png?v=1459036939000)
string inhalt = System.IO.File.ReadAllText("Dateipfad");
if(inhalt.Contains(benutzername))
// schon vorhanden
else
// noch nicht vorhanden
![](https://images.gutefrage.net/media/user/Berny96/1459036936798_nmmslarge__10_10_180_180_41891bff6619e836b62841f69ed73f09.png?v=1459036939000)
beachte das hierbei auf Groß und Kleinschreibung geachtet wird, heisst es dürfen zwei Benutzer vorhanden sein die "Benutzer" und "benutzer" heissen. Willst du dies auschliessen solltest du den namen den du prüfen willst vorher in kleinschreibung umwandeln und natürlich wenn du ihn erstellst auch.
benutzername = benutzername.ToLower();
![](https://images.gutefrage.net/media/user/DataJockey/1444745439_nmmslarge.jpg?v=1444745439000)
pass auf dass die Datei nicht zu gross wird.ReadAllText macht Probleme bei grossen Dateien.
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Warum denn mit ner textdatei?!?! Und warum nur EINE
Splitte nach \n und siehe da da ist ja schon das nächste problem, nutzernamen die \n beeinhalten dürfen so nicht gespeichert werden. Übrigens solltest du dann noch zb strtolower verwenden...
![](https://images.gutefrage.net/media/user/shilch/1478025704220_nmmslarge__71_0_450_450_299dcd6eab161896c93d8cdcea61258c.jpg?v=1478025706000)
Am Besten liest du den Inhalt der Datei als String, splittest den beim Zeilenumbruch und iterierst über das zurückgegebene String Array.
In echten Anwendungen mit Benutzerkonten verwendet man aber Datenbanken!
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Ich bin noch recht unerfahren in c# und nein, sollte eigentlich nur ein kleines projekt zum üben werden.. also wenns geht sollte es einfach bleiben :), wär urrr nett wenn du mir ein beispiel in c# schreiben könntest, danke danke... <3
![](https://images.gutefrage.net/media/user/Berny96/1459036936798_nmmslarge__10_10_180_180_41891bff6619e836b62841f69ed73f09.png?v=1459036939000)
Wieso dann nicht direkt
File.ReadAllLines("dateipfad");
Das würde die alle Zeilen der Datei in ein Array lesen.
omggg thxx!!!!