Menu
Coddy logo textTech

String Biçimlendirme

Coddy'nin C# Journey'sinin Temeller bölümünün bir parçası — ders 63 / 69.

C#'da, String.Format() biçimlendirilmiş dizeler oluşturmak için kullanılan güçlü bir yöntemdir. Metni değişkenlerle okunabilir ve özelleştirilebilir bir şekilde birleştirmenize olanak tanır. Bu yöntem, değişkenlerin dizeye nasıl yerleştirilmesi gerektiğini tanımlamak için biçim belirleyicileri kullanır.

C#'ta string biçimlendirmenin nasıl kullanılacağını öğrenelim:

String.Format() metodunun temel sözdizimi şöyledir:

string formattedString = String.Format("format_string", arg0, arg1, ...);

Burada:

  • format_string: Metin ve format belirleyicileri içeren bir dize.
  • arg0, arg1, ...: format_string içine eklenecek değişkenler.

Format belirleyicilere bakalım. Süslü parantez içindeki sayılar, argümanların konumuna atıfta bulunur:

  • {0}: İlk argümanı (arg0) ifade eder
  • {1}: İkinci argümanı (arg1) ifade eder
  • {2}: Üçüncü argümanı (arg2) ifade eder
  • Ve bu şekilde devam eder...

Farklı türde argümanlar içeren basit bir örnek deneyelim:

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

Bu kodu çalıştırdıktan sonra ekranda şunu göreceksiniz: Name: Alice, Age: 30, Price: 19.99

Biçimlendirmeyi, iki noktadan sonra gelen biçim belirteçleri ile daha fazla kontrol edebilirsiniz. Biçim belirteci, bir harf (sabit noktalı ondalık için F gibi) ve ardından hassasiyet için isteğe bağlı bir sayıdan oluşur:

// Bir sayıyı 2 ondalık basamakla biçimlendir
double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted);

Bu kodu çalıştırdıktan sonra ekranda şunu göreceksiniz: The value is 123.46

Farklı ondalık basamak sayılarını belirtmek için F1, F2, F3 vb. kullanabilirsiniz

challenge icon

Görev

Kolay

Aşağıdaki argümanları alan CreateFormattedString adında bir metot oluşturun:

  1. Bir string productName.
  2. Bir tam sayı quantity.
  3. Bir double unitPrice.

Metot, bu değerleri aşağıdaki formatta birleştiren formatlanmış bir string döndürmelidir:

Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]

unitPrice değerini beş ondalık basamak olacak şekilde, quantity değerini bir ondalık basamak olacak şekilde (double türüne dönüştürerek) formatlayın ve productName'in ilk karakteri büyük harf olmalıdır.

Örneğin, productName "laptop", quantity 3 ve unitPrice 1299.9999 ise, metot şunu döndürmelidir:

Product: Laptop, Quantity: 3.0, Unit Price: 1299.99990

İlk karakteri char türü yerine String türünde tutarak ayıklamak için şunu kullanın: str.Substring(0,1)

Kopya kağıdı

String.Format() yöntemi, metni biçim belirleyicileri kullanarak değişkenlerle birleştirerek biçimlendirilmiş dizeler oluşturur.

Temel sözdizimi:

string formattedString = String.Format("format_string", arg0, arg1, ...);

Biçim belirleyicileri, konum numaralarıyla birlikte süslü parantezler kullanır:

  • {0}: Birinci argüman
  • {1}: İkinci argüman
  • {2}: Üçüncü argüman

Birden fazla veri türü içeren örnek:

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); // Output: Name: Alice, Age: 30, Price: 19.99

İki nokta üst üste kullanarak hassasiyet kontrollü biçim belirleyicileri:

double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted); // Output: The value is 123.46

Farklı ondalık basamak sayılarını belirtmek için F1, F2, F3 vb. kullanabilirsiniz.

İlk karakteri bir dize olarak çıkarmak için: str.Substring(0,1)

Kendin dene

using System;

public class Program {
    public static string CreateFormattedString(string productName, int quantity, double unitPrice) {
        // Kodunuzu buraya yazın
    }

    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);
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler