[C#] Formatowanie danych wyjściowych


(Wojtekt89) #1

Jak mogę osiągnać następującą rzecz:

zamiast:

aaaaaa aaaa aaaa aa

aa aaa aaaa aaaaa

to:

aaaaaa aaaa aaaa aa

aa aaa aaaa aaaaa

Chodzi po prostu o to, żeby kolejne linie były tak wyrównywane. Przykładowo metoda Write() wygląda tak:

Write({0}{1}{2}{3}, zm1, zm2, zm3, zm4)

Próbowałem z ustawianiem szerokości pola, ale nie wychodziło. Proszę o pomoc, przykład tego jak użyć tego ustawiania szerokości, żeby dane były wyświetlane tak jak chcę.

Zapomniałem dodać, że zmienne mogą być za każdym razem innej długości.


(Frankfurterium) #2

Między stringami nie stawiaj spacji, tylko tabulatory. Coś w stylu:

Console.WriteLine("{0}\t{1}\t{2}\t{3}", s1, s2, s3, s4);

Console.WriteLine("{0}\t{1}\t{2}\t{3}", s11, s22, s33, s44);

(Tomek Matz) #3

np.

Console.WriteLine("{0,-5}{1,-5}{2,-5}","aaa","aaa","aaa");

Zamiast -5 możesz wstawić dowolną liczbę.


(Wojtekt89) #4

Dzięki :slight_smile:


(Darkvifon) #5

Dorzuć jeszcze spacje między polami, żeby nie było niespodzianek przy dłuższych stringach i pola się nie łączyły.


(Wojtekt89) #6

Tak zrobiłem.


(Mmow) #7

A jak ustawiasz szerokość pola? ja używam PadRight() i PadLeft() i zawsze działa, dodatkowo można wyrównywać do lewej i prawej strony.