Bu örnek, konsol (console) komut satırında kullanıcının girdiği her karakterin kontrol edilerek sadece rakam girişinin yapılmasını gösterir.
static void Main()
{
char[] izinli = new char[10] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
string giris = string.Empty;
// Array.Sort(izinli); // Dizi zaten sıralı olduğu için gerek yok.
ConsoleKeyInfo karakter = Console.ReadKey(true);
while (karakter.Key != ConsoleKey.Enter)
{
if (Array.BinarySearch(izinli, karakter.KeyChar) >= 0)
{
Console.Write(karakter.KeyChar);
giris += karakter.KeyChar;
}
karakter = Console.ReadKey(true);
}
Console.WriteLine();
Console.WriteLine("Girdiğiniz sayı : " + giris);
Console.ReadKey();
}
/*
2023
Girdiğiniz sayı : 2023
*/
Array.BinarySearch() ile içinde arama yapılacak izinli karakterler dizisi, fonksiyonun başında aşağıdaki şekilde sıralı olarak tanımlanıyor.
char[] izinli = new char[10] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
Console.ReadKey(true) fonksiyonu ile kullanıcının girdiği bir karakter, ConsoleKeyInfo yapısındaki "karakter" değişkenine atanıyor. true parametresi, girilen karakterin ekranda gösterilmesini engeller.
ConsoleKeyInfo karakter = Console.ReadKey(true);
Ardından, Enter tuşuna basılmadığı sürece devam eden döngüye girilir ve kullanıcının bastığı karakter BinarySearch() fonksiyonu ile izinli listesinden kontrol edilir. Listede olması durumunda ekranda gösterilir ve string tipindeki giris değişkeninin sonuna eklenir.
if (Array.BinarySearch(izinli, karakter.KeyChar) >= 0)
Rakamlar girilip Enter tuşuna basılarak döngüden çıkıldıktan sonra karakter karakter toplanan giris değişkeni Console.WriteLine() fonksiyonu ile ekranda gösterilir.