C# programlama dilinde Metinsel (String) metotlardan biri olan Compare metodu, verilen 2 parametrenin karşılaştırılmasını sağlar. Bu karşılaştırma sonrası geriye int türünde bir değer döndürür. Geriye dönen bu değer 0(sıfır) ise karşılaştırılan metinlerin birbirinin aynısı olduğu anlaşılır. Bu değer haricinde alfabedeki sıralarına göre -1 ve 1 değeri de dönebilir. Böyle bir durumda karşılaştırılan metinlerin aynı olmadığı anlaşılır.
Aşağıdaki örnekte basit bir şifre sorgulaması yapacağız. Girilen şifreyi Compare metodunu kullanarak karşılaştırıp ekrana mesaj olarak vereceğiz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
static void Main(string[] args) { string pass = "YazilimBilisim"; Console.Write("Şifreyi Girin : "); string sifre = Console.ReadLine(); int deger = String.Compare(pass, sifre); if(deger==0) { Console.WriteLine("Şifre Doğru"); } else { Console.WriteLine("Şifre Yanlış"); } Console.ReadKey(); } |
Bazı durumlarda büyük/küçük harf duyarlılığı gerekebilir ya da gerekmeyebilir. Böyle durumlar için Compare metodunu aşağıdaki şekilde kullanabilirsiniz.
Büyük/Küçük harf duyarlılığı için
1 2 3 |
int deger = String.Compare(pass, sifre,false); |
1 2 3 |
int deger = String.Compare(pass, sifre,true); |
şifre olarak asfkjaslnfam girsen de doğru der.
yani eğer duyarlılık istemiyosam