Array.BinarySearch() fonksiyonu sıralı listelerde ikili (binary) arama algoritması ile aranan değerin dizideki sıfır tabanlı konumunu verir. Aranan değer mevcut değilse sıfırın altında bir değer döner.
Array.BinarySearch() fonksiyonunun kullanılacağı listelerin her bir elemanının eşsiz ve dizinin sıralı olması gerekir. BinarySearch() fonksiyonu (algoritması), özellikle büyük dizi ve listelerde sıralı aramaya göre çok daha hızlıdır.
Aşağıdaki örnek isimlerin bulunduğu dizinin Sort() ile sıralandıktan sonra BinarySearch() fonksiyonu ile bir ismin aranmasını gösterir.
static void Main()
{
string[] isimler = new string[6]
{
"Mehmet", "Ahmet", "Hüseyin", "Fatma", "Ayşe", "Emine"
};
Array.Sort(isimler); // Liste sıralanıyor.
Console.Write("Dizinin sıralanmış hali : ");
foreach(string isim in isimler)
{
Console.Write(isim + " "); // Sıralı liste ekrana yazılıyor.
}
Console.WriteLine();
string aranan = "Fatma";
int konum = Array.BinarySearch(isimler, aranan);
Console.WriteLine(aranan + " isminin listedeki konumu : " + konum);
Console.ReadKey();
}
/*
Dizinin sıralanmış hali : Ahmet Ayşe Emine Fatma Hüseyin Mehmet
Fatma isminin listedeki konumu : 3
*/