Merhaba arkadaşlar, bu yazımda sizlere C# String Compare Metodu Kullanımı konusundan bahsedeceğim.
C#’ta string manipülasyonu oldukça yaygın bir ihtiyaçtır. Bu nedenle, string işlemleri için birçok kullanışlı metot bulunmaktadır. Bu blog yazısında, C# dilindeki String.Compare metodu üzerinde duracağız ve bu metotla string karşılaştırmaları nasıl gerçekleştirebileceğimizi öğreneceğiz.
String.Compare metodu, iki dizeyi karşılaştırır ve sonucu bir tamsayı olarak döndürür. Bu metot, dize karşılaştırmalarında büyük/küçük harf duyarlılığını ve kültürel farkları dikkate alabilme özelliği sunar.
Metot İmzası:
Aşağıdaki gibi bir imzaya sahiptir:
public static int Compare(string str1, string str2, bool ignoreCase, CultureInfo culture)
Parametreler:
- str1: Karşılaştırılacak ilk dize.
- str2: Karşılaştırılacak ikinci dize.
- ignoreCase: Büyük/küçük harf duyarlılığını kontrol etmek için kullanılan bir boolean değer. Eğer true ise büyük/küçük harf duyarlılığı yok sayılır.
- culture: Kültürel farkları dikkate almak için kullanılan bir CultureInfo nesnesi. Varsayılan olarak, sistem kültürü kullanılır.
Dönüş Değeri:
Metot, karşılaştırma sonucunu bir tamsayı olarak döndürür.
Aşağıdaki değerleri döndürebilir:
- 0: İki dize eşittir.
- Pozitif bir değer: str1, str2’den büyüktür.
- Negatif bir değer: str1, str2’den küçüktür.
Örnek uygulama:
string str1 = "Merhaba";
string str2 = "merhaba";
// Büyük/küçük harf duyarlılığı olan karşılaştırma
int result1 = string.Compare(str1, str2);
Console.WriteLine("Büyük/küçük harf duyarlılığı olan karşılaştırma sonucu:");
Console.WriteLine(result1); // Sonuç: Negatif bir değer
// Büyük/küçük harf duyarlılığı olmayan karşılaştırma
int result2 = string.Compare(str1, str2, true);
Console.WriteLine("Büyük/küçük harf duyarlılığı olmayan karşılaştırma sonucu:");
Console.WriteLine(result2); // Sonuç: 0 (Eşit)
// Farklı kültürlerde karşılaştırma
string str3 = "ölçü";
string str4 = "olcu";
int result3 = string.Compare(str3, str4, false, new System.Globalization.CultureInfo("tr-TR"));
Console.WriteLine("Türkçe kültüründe karşılaştırma sonucu:");
Console.WriteLine(result3); // Sonuç: 0 (Eşit)
Console.ReadLine();
Bu örnek uygulama, String.Compare metoduyla farklı senaryoları göstermektedir. İlk olarak, “Merhaba” ve “merhaba” dizelerini büyük/küçük harf duyarlılığına göre karşılaştırır ve sonucu ekrana yazdırır. Bu durumda sonuç negatif bir değer olacaktır.
Daha sonra, aynı dizeleri büyük/küçük harf duyarlılığını yok sayarak karşılaştırır ve sonucu ekrana yazdırır. Bu durumda sonuç 0 olacaktır, çünkü büyük/küçük harf duyarlılığı yok sayıldığından dizeler eşit kabul edilir.
Son olarak, “ölçü” ve “olcu” dizelerini Türkçe kültüründe karşılaştırır ve sonucu ekrana yazdırır. Türkçe’de “ö” ve “o” harfleri farklı olarak kabul edilir, bu nedenle sonuç 0 olacaktır, çünkü kültürel farklar dikkate alındığında dizeler eşit kabul edilir.
Umarım faydalı olur.
Bir sonraki yazıda görüşmek üzere…