C# : Zeilen auslesen und in Textdatei schreiben

...komplette Frage anzeigen Code - (Computer, Programm, Windows 7) Form - (Computer, Programm, Windows 7)

1 Antwort

Als erstes ist die Definition der Methode "File.WriteAllText()" wie folgt:

public static void WriteAllText(
	string path,
	string contents
)

Du übergibst der Methode einen String und ein String-Array. Daher kommt dein Fehler.

Ein einfache Möglichkeit aus dem String-Array eine String zu machen, wäre folgende Funktion:

var datensatz = string.Join(" ", FertigeDatensätze);

Damit werden die einzelnen Strings mit einem Leerzeichen getrennt in die String-Variable geschrieben.

Strings sind unveränderbar (immutable). Das heißt, wenn du Strings mit "+" zusammenfügst, wird immer ein neuer String erzeugt. Bei der Codezeile

FertigeDatensätze[i] = "dn: cm=" + CNs[i] + ",ou=" + OUs[i] + ",ou=Extern,o=CLAAS\nobjectClass: Top\nobjectClass: claasUserExtension\nobjectClass: Person\nobjectClass: inetOrgPerson\nobjectClass: organizationalPerson\nobjectClass: ndsLoginProperties\nclaasUserType: extern\nmail: " + CNs[i] + "\ngivenName: " + Vornamen[i] + "\nfullName: " + Vornamen[i] + " " + Nachnamen[i] + "\nsn: " + Nachnamen[i] + "\nclaasApplRoleNames: cn=CDEX_EXTERN,ou=CDEX,ou=EBApps,o=CLAAS\nPassword: \n\n";

wird das 13 Mal (multipliziert mit der Länge des Arrays) durchgeführt. Das verringert die Performance des Programms. Du solltest die Klasse "StringBuilder" bzw. die Methode "string.Format()" verwenden.

Was möchtest Du wissen?