Array.IndexOf(dizi, aranan, başlangıç) fonksiyonu, aranan değeri dizinin belirtilen başlangıç konumundan itibaren arar ve ilk karşılaştığı konumu verir. Eğer bir döngü içinde IndexOf() ile elde edilen konum, sonraki turda arama başlangıç değeri olarak belirtilirse dizi içinde aramaya devam edilebilir.
Aşağıdaki örnek, isimler dizisindeki belirli bir ismin tüm konumlarının, IndexOf() fonksiyonunun arama başlangıç değerinin her turda güncellenerek sırayla tespit edilmesini gösterir.
static void Main()
{
string[] isimler = new string[7]
{
"Yasin", "Emine", "Mehmet", "Sevtap", "Yasin", "Ayşe", "Yasin"
};
string aranan = "Yasin";
int araBaslangic = 0; // İlk arama başlangıç konumu = 0
int konum = Array.IndexOf(isimler, aranan, araBaslangic); // İlk konum tespit ediliyor.
while (konum >= 0) // İsim dizi içinde bulunduğu sürece, ...
{
Console.WriteLine(aranan + " isminin konumu : " + konum);
araBaslangic = konum + 1; // Sonraki arama başlangıcı olarak bir öncekinin +1 fazlası atanıyor.
konum = Array.IndexOf(isimler, aranan, araBaslangic);
}
Console.ReadKey();
}
/*
Yasin isminin konumu : 0
Yasin isminin konumu : 4
Yasin isminin konumu : 6
*/