String Fonksiyonlar – Compare – C# Console Ders 39
Daha fazla bilgi için : www.gorselprogramlama.com
Compare: İki string’in alfabetik olarak karşılaştırır.İki string birbirine eşitse geriye 0,birinci string alfabetik olarak ikinci string’ten önce geliyorsa geriye -1,birinci string alfabetik olarak ikinci string’ten sonra geliyorsa geriye +1 döndürür.
Örnek : Klavyeden girilen iki stringi Compare ile karşılaştırıp döndürdüğü değeri ekrana yazdıran programın kodlarını yazalım.
[code lang=”csharp”]
class Program
{
static void Main(string[] args)
{ //Daha fazla bilgi için : www.gorselprogramlama.com string str1, str2;
Console.Write("1. stringi giriniz = ");
str1 = Console.ReadLine();
Console.Write("2. stringi giriniz = ");
str2 = Console.ReadLine();
Console.Write(string.Compare(str1,str2));
Console.ReadKey(); //Daha fazla bilgi için : www.gorselprogramlama.com
}
}
[/code]



Örnek : Klavyeden girilen iki stringi karşılaştırıp gerekli mesajı ekrana yazdıran programın kodlarını yazalım.
[code lang=”csharp”]
class Program
{ //Daha fazla bilgi için : www.gorselprogramlama.com
static void Main(string[] args)
{
string str1, str2;
Console.Write("1. stringi giriniz = ");
str1 = Console.ReadLine();
Console.Write("2. stringi giriniz = ");
str2 = Console.ReadLine(); //Daha fazla bilgi için : www.gorselprogramlama.com
if (string.Compare(str1, str2) == 0) Console.Write("Stringler aynı");
if (string.Compare(str1, str2) == -1) Console.Write("Alfabetik olarak 1. String 2. sitrinden önce geliyor. ");
if (string.Compare(str1, str2) == 1) Console.Write("Alfabetik olarak 1. String 2. sitrinden sonra geliyor. ");
Console.ReadKey();
}
} //Daha fazla bilgi için : www.gorselprogramlama.com
[/code]




Not : Yukarıdaki resimde gözüktüğü gibi 1. ve 2. string aynı olmasına rağmen büyük küçük harf ayrımı yapmadığı için farklı gibi gördü.Bunu engellemek için true parametresini eklemeliyiz.Aşağıdaki örnekte kullanımı inceleyebilirsiniz.
Örnek :
[code lang=”csharp”]
class Program
{ //Daha fazla bilgi için : www.gorselprogramlama.com
static void Main(string[] args)
{
string str1, str2;
Console.Write("1. stringi giriniz = ");
str1 = Console.ReadLine();
Console.Write("2. stringi giriniz = ");
str2 = Console.ReadLine();
if (string.Compare(str1, str2, true) == 0) Console.Write("Stringler aynı");
if (string.Compare(str1, str2, true) == -1) Console.Write("Alfabetik olarak 1. String 2. sitrinden önce geliyor. ");
if (string.Compare(str1, str2, true) == 1) Console.Write("Alfabetik olarak 1. String 2. sitrinden sonra geliyor. ");
Console.ReadKey();
}
} //Daha fazla bilgi için : www.gorselprogramlama.com
[/code]

Yukarıda gözüktüğü gibi iki string aynı olmak koşuluyla büyük veya küçük karakter farketmez ne girilse girilsin aynı diyecektir.