Witam,
w jaki sposób mógłbym zapisać oraz odczytać tablicę 2wymiarową w pliku .txt ?
Czym są elementy tablicy? Plik ma być do odczytania i zmodyfikowania przez człowieka? Jeżeli nie to użyj najprostszej, binarnej serializacji.
Tak ma być również do odczytu i modyfikacji.
Czym są elementy tablicy? Plik ma być do odczytania i zmodyfikowania przez człowieka?
Tak ma być również do odczytu i modyfikacji.
Odpisałeś tylko na drugie pytanie.
Zakładając że w tablicy są np. liczby, zakładając tablicę faktycznie 2d (a nie jagged), spróbuj (pisane od ręki, nie mam jak przetestować):
using (StreamWriter file = new StreamWriter("plik.txt")) {
for (int y = 0; y < tab.GetLength(0); y++) {
for (int x = 0; x < tab.GetLength(1); x++) {
file.Write(tab[y][x].ToString() + " ");
} file.Write("\n");
}
}
Odczyt odwrotnie - wczytujesz cały plik do stringa, dzielisz na linie, każdą linię na liczby i wpisujesz odpowiednio do tablicy (albo czytasz linię po linii, co jest pod niektórymi względami lepsze).
Zapomniałem napisać chodzi o elementy typu string.
Co jeszcze zapomniałeś powiedzieć?
Że każdy z nich może zawierać spacje?
Zapomniałem napisać chodzi o elementy typu string.
Wierzę, tylko co to zmienia? Kod który podałem (albo każdy inny zapisujący do pliku) możesz trywialnie zmodyfikować żeby zapisywał do pliku tablice z longami, floatami, stringami, GUIDami, serializowanymi obrazami itp. Przyjrzyj się mu i chociaż spróbuj zrozumieć co robi.
Kod będzie się trochę różnić przy odczytywaniu, ale zasada zostaje ta sama.
(Protip: dla tablic longów, floatów, stringów i GUIDów ten kod nie wymaga kompletnie żadnej modyfikacji).