Formatowanie ciągów znaków
Część sekcji Podstawy ścieżki C# w Coddy. Lekcja 63 z 69.
W języku C# String.Format() to potężna metoda służąca do tworzenia sformatowanych ciągów znaków. Pozwala łączyć tekst ze zmiennymi w czytelny i dostosowywalny sposób. Metoda ta używa specyfikatorów formatu, aby określić, jak zmienne powinny być wstawiane do ciągu znaków.
Dowiedzmy się, jak używać formatowania ciągów znaków w języku C#:
Podstawowa składnia String.Format() wygląda następująco:
string formattedString = String.Format("format_string", arg0, arg1, ...);Gdzie:
format_string: Ciąg znaków zawierający tekst i specyfikatory formatu.arg0, arg1, ...: Zmienne, które zostaną wstawione doformat_string.
Przyjrzyjmy się specyfikatorom formatu. Liczby w nawiasach klamrowych odnoszą się do pozycji argumentów:
{0}: Odnosi się do pierwszego argumentu (arg0){1}: Odnosi się do drugiego argumentu (arg1){2}: Odnosi się do trzeciego argumentu (arg2)- I tak dalej...
Wypróbujmy prosty przykład z różnymi typami argumentów:
string name = "Alice";
int age = 30;
double price = 19.99;
string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted);Po wykonaniu tego kodu zobaczysz na ekranie: Name: Alice, Age: 30, Price: 19.99
Możesz też dodatkowo kontrolować formatowanie za pomocą specyfikatorów formatu umieszczanych po dwukropku. Specyfikator formatu składa się z litery (takiej jak F w przypadku zapisu dziesiętnego ze stałą liczbą miejsc po przecinku), po której może opcjonalnie występować liczba określająca precyzję:
// Sformatuj liczbę do 2 miejsc po przecinku
double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted);Po wykonaniu tego kodu zobaczysz na ekranie: The value is 123.46
Możesz użyć F1, F2, F3 itd., aby określić różną liczbę miejsc po przecinku
Wyzwanie
ŁatwyUtwórz metodę o nazwie CreateFormattedString, która przyjmuje następujące argumenty:
- Ciąg znaków
productName. - Liczbę całkowitą
quantity. - Liczbę typu double
unitPrice.
Metoda powinna zwracać sformatowany ciąg znaków łączący te wartości w następującym formacie:
Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]Sformatuj unitPrice do pięciu miejsc po przecinku, quantity do jednego miejsca po przecinku (konwertując ją na double), a pierwsza litera productName powinna być wielka.
Na przykład, jeśli productName to "laptop", quantity wynosi 3, a unitPrice wynosi 1299.9999, metoda powinna zwrócić:
Product: Laptop, Quantity: 3.0, Unit Price: 1299.99990Aby wyodrębnić pierwszy znak, zachowując typ String zamiast typu char, użyj:
str.Substring(0,1)
Spróbuj swoich sił
using System;
public class Program {
public static string CreateFormattedString(string productName, int quantity, double unitPrice) {
// Wpisz tutaj swój kod
}
public static void Main(string[] args) {
string product = Console.ReadLine();
int qty = int.Parse(Console.ReadLine());
double price = double.Parse(Console.ReadLine());
string formattedString = CreateFormattedString(product, qty, price);
Console.WriteLine(formattedString);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczne7Podstawowe wejście i wyjście
Podstawowe wyjścieInterpolacja ciągów znakówOdczytywanie danych wejściowychParsowaniePowtórka — do 120Powtórka — prawda czy fałsz5Operatory część 2
Operatory porównaniaOperatory logiczne część 1Operatory logiczne część 2Powtórka — prosta logikaOperatory logiczne część 36Podejmowanie decyzji
Instrukcja ifIf - ElseInstrukcja switchOperator trójargumentowyPowtórzenie - If ElseZagnieżdżone If - Else9Pętle
Pętla forPętla whilePętla do whileInstrukcja breakInstrukcja continueZagnieżdżona pętlaNieskończona pętlaPowtórzenie – dynamiczne dane wejściowe12Operacje na ciągach znaków
Metody ciągów znaków – część 1Metody ciągów znaków – część 2Formatowanie ciągów znakówPoćwicz samodzielnie: Kompilator C# online