Zapis tablicy 2wymiarowej do pliku .txt

0

Witam,
w jaki sposób mógłbym zapisać oraz odczytać tablicę 2wymiarową w pliku .txt ?

0

Czym są elementy tablicy? Plik ma być do odczytania i zmodyfikowania przez człowieka? Jeżeli nie to użyj najprostszej, binarnej serializacji.

0

Tak ma być również do odczytu i modyfikacji.

0

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).

0

Zapomniałem napisać chodzi o elementy typu string.

0

Co jeszcze zapomniałeś powiedzieć?
Że każdy z nich może zawierać spacje?

0

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).

1 użytkowników online, w tym zalogowanych: 0, gości: 1