Hallo zusammen,
ich habe eine Eingabedatei die aus mehreren Zeilen besteht. Mithilfe des Streamreaders lese ich diese in ein Stringarray ein (d.h. pro eingelesene Zeile einen neuen String
StreamReader sr = new StreamReader(@"C:\lab.dat");
.
.
.
for (int i = 1; i < y+1; i++)
{
a[i] = sr.ReadLine();
}
In einer weiteren Schleife frage ich nun den Inhalt der jeweiligen Arrays ab und möchte anschließend das Zeichen an dieser Stelle gegen ein anderes ersetzen.
for (int j = 0; j < x; j++)
{
if (a[i][j] == '#')
{...
a[i][j] == ' ' }
Bei letzten Schritt macht mir der Compiler einen Strich durch die Rechnung mit der Meldung:
Fehlermeldung:
Einer Eigenschaft oder einem Indexer "string.this[int]" kann nichts zugewiesen werden -- sie sind schreibgeschützt.
Gibts hier ein Möglichkeit das Zeichen trotzdem zu ersetzen ?
Gruß
Hallo indeopax,
mit dem Array hat das gar nichts zu tun, sondern - wie die Fehlermeldung sagt - mit dem Indexzugriff auf den String, der generell nicht erlaubt ist, siehe [FAQ] Besonderheiten der String-Klasse (immutabler Referenztyp mit Wertsemantik). Strings sind unveränderlich. Willst du eine Änderung durchführen, musst du den String durch einen neuen ersetzen. Vermutlich ist String.Replace, was du suchst.
Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen).
herbivore