0Pricing
C# Academy · Lekcja

Formatowanie złożone za pomocą string.Format

Używaj indeksowanych symboli zastępczych i wyrównania.

Formatowanie złożone za pomocą string.Format to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 4 lekcji w sumie.

Formatowanie złożone

string.Format używa numerowanych symboli zastępczych, takich jak {0} i {1}, które odpowiadają kolejnym przekazanym argumentom.

using System;

class Program {
    static void Main() {
        string msg = string.Format("Hello, {0}!", "Ada");
        Console.WriteLine(msg);
    }
}

Wiele argumentów

Każdy indeks wskazuje argument na podstawie jego pozycji. {0} oznacza pierwszy argument, {1} drugi i tak dalej.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{0} + {1} = {2}", 2, 3, 5));
    }
}

Ponowne użycie indeksu

Można użyć tego samego indeksu więcej niż raz, aby powtórzyć argument bez przekazywania go dwukrotnie.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{0}{0}{0}", "ab"));
    }
}

Specyfikator formatu po dwukropku

Proszę dodać dwukropek i specyfikator, aby określić sposób formatowania, na przykład {0:F2} oznacza dwie cyfry po przecinku.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("Pi is {0:F2}", 3.14159));
    }
}

Wyrównanie za pomocą przecinka

Przecinek i szerokość określają wyrównanie: {0,8} wyrównuje do prawej w polu o szerokości ośmiu znaków, a ujemna szerokość wyrównuje do lewej.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("[{0,8}]", "hi"));
        Console.WriteLine(string.Format("[{0,-8}]", "hi"));
    }
}

Połączenie wyrównania i formatu

Można połączyć obie opcje: {0,10:F2} formatuje liczbę do dwóch cyfr po przecinku i wyrównuje ją do prawej w polu o szerokości dziesięciu znaków.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("[{0,10:F2}]", 3.5));
    }
}

Formatowanie za pomocą Console.WriteLine

Console.WriteLine bezpośrednio przyjmuje ten sam złożony ciąg formatujący i argumenty.

using System;

class Program {
    static void Main() {
        Console.WriteLine("{0} scored {1} points", "Sam", 42);
    }
}

Tworzenie tabeli

Wyrównanie ułatwia tworzenie prostych, wyrównanych tabel w danych wyjściowych konsoli.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{0,-10}{1,5}", "Apples", 3));
        Console.WriteLine(string.Format("{0,-10}{1,5}", "Pears", 12));
    }
}

Do tego kompiluje się interpolacja

Za kulisami interpolowane ciągi znaków często są kompilowane do formatowania złożonego. Są to dwa sposoby korzystania z tej samej funkcji.

using System;

class Program {
    static void Main() {
        int n = 5;
        Console.WriteLine(string.Format("n = {0}", n));
        Console.WriteLine($"n = {n}");
    }
}

Escapowanie nawiasów klamrowych

Podobnie jak w przypadku interpolacji, aby wydrukować nawias klamrowy dosłownie w złożonym ciągu formatującym, należy zapisać go dwukrotnie.

using System;

class Program {
    static void Main() {
        Console.WriteLine(string.Format("{{0}} shows literally, {0} shows value", 7));
    }
}

Kiedy wybrać formatowanie

Formatowanie złożone jest przydatne, gdy szablon jest przechowywany osobno, na przykład w plikach zasobów używanych do lokalizacji.

using System;

class Program {
    static void Main() {
        string template = "Welcome, {0}";
        Console.WriteLine(string.Format(template, "Lee"));
    }
}

Szybki test

Proszę sprawdzić swoją wiedzę na temat formatowania złożonego.

Podsumowanie

string.Format używa indeksowanych symboli zastępczych ({0}, {1}) mapowanych na argumenty według pozycji, które można ponownie wykorzystywać. Dwukropek dodaje specyfikatory formatu, a przecinek ustawia szerokość wyrównania.

Mechanizm ten obsługuje formatowanie w Console.WriteLine i stanowi podstawę interpolacji. Jest też idealny, gdy szablony znajdują się w osobnych zasobach.

Często zadawane pytania

Czy lekcja „Formatowanie złożone za pomocą string.Format” jest bezpłatna?

Tak — pełny tekst „Formatowanie złożone za pomocą string.Format” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Formatowanie złożone za pomocą string.Format”?

Używaj indeksowanych symboli zastępczych i wyrównania. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Formatowanie złożone za pomocą string.Format”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy interpolacji ciągów znaków
  2. Formatowanie złożone za pomocą string.Format
  3. Specyfikatory formatu liczb i dat
  4. Surowe literały ciągów znaków
← Powrót do C# Academy