Autor Beitrag
Vegeto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mo 23.12.13 11:56 
Moin,

ich habe gerade eine Blode oder besser gesagt ich habe eine Idee, aber dort muss man mit vielen foreach schleifen arbeiten und dann wird der Code"leicht" unübersichtlich xD

Zu meinem Problem, ich möchte in eine (bestehende) Textdatei was neues einfügen, was aber nicht schon in der Datei enthalten ist.
Bsp TextDatei:
Datum;Zeit;Name;

Jetzt kommen halt immer wieder Datensätze, die schon der der Datei enthalten sind. Das heißt es sind doppelte einträge enthalten!
Zum auslesen der Datei benutze ich ein Streamreader mit Linq-abfrage(mit foreach)! und zum schreiben benutze ich einfach ein Streamwriter(mit zwei foreach).

Wie kann ich jz in mein Writer eine verfahren/funktion finden, was zunächst überprüft ob der Datensatz(Zeile) enthalten ist und wenn Sie enthalten ist nicht zu schreiben und wenn nicht dann zu schreiben(das würde ich dann mittels if-else selbst bauen :) )?

Oder gibt es ein verfahren/funktion womit ich eine textdatei einfach auslesen kann und doppelte Datensätze (verglichen nach einigen kreterien) dann diese Datensätze einfach entfernen?

Lg

Frohe Festtage und ein Guten Rutsch
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mo 23.12.13 12:07 
Moin...

habe eine guten(kurzen) weg gefunden:
ausblenden C#-Quelltext
1:
2:
string[] lines = File.ReadAllLines("filename");
File.WriteAllLines("filename", lines.Distinct().ToArray());


Das macht genau das was ich will...

Tut mir Leid das ich so schnell gefragt habe, hatte eine Blockade :/

LG

FROHES FEST