Array.IndexOf
Array.IndexOf ile bir elemanın dizinini bulmayı öğrenirsin.
Array.IndexOf
Array.IndexOf bir dizide eleman arar ve bulduğu ilk dizini döndürür. Aranan eleman yoksa -1 döner. Arama dizinin başından sonuna doğrudur.
Örneğin int[] nums = { 10, 20, 30 }; dizisinde Array.IndexOf(nums, 20) çağrısı 1 döner çünkü 20 değeri ikinci konumdadır (indeksler 0'dan başlar).
Eşitlik ve LastIndexOf
Array.IndexOf aramaya baştan başlar; aynı elemandan birden fazla varsa ilk bulduğunu döndürür. Aramayı sondan başlatmak için Array.LastIndexOf kullanılır. İkisi de eşitlik karşılaştırması yapar; yalnızca yönleri farklıdır.
Karşılaştırma == operatörü ile yapılır; yani eleman türe göre eşit olmalıdır. Büyük/küçük harf duyarlılığı metinlerde geçerlidir: Array.IndexOf(names, "ayşe") ile "Ayşe" aranmaz.
Uygulama Şehir dizisinde ara
Verilen string[] cities = { "İzmir", "Ankara", "Bursa" }; dizisinde Array.IndexOf(cities, "Ankara") ile "Ankara" şehrinin dizinini bul ve Console.WriteLine ile yazdır.
Örnek çözümü göster
int idx = Array.IndexOf(cities, "Ankara"); ile dizini bul, sonra Console.WriteLine(idx); ile yazdır.
Örnek çözüm:
using System;
class Program
{
static void Main()
{
string[] cities = { "İzmir", "Ankara", "Bursa" };
// Ankara'nın dizinini bul ve yazdır
int idx = Array.IndexOf(cities, "Ankara");
Console.WriteLine(idx);
}
}
Kendini test et
-
İfadeyi anlamına eşle
- Array.IndexOf(nums, 5)
- 5'in dizini
- -1
- Bulunamadı
- nums[0]
- İlk eleman
- Array.Sort(nums)
- Sıralar
-
IndexOf çağrısı
int[] nums = { 10, 20, 30 }; int idx = ____; Console.WriteLine(idx);Cevabı göster
int[] nums = { 10, 20, 30 }; int idx = Array.IndexOf(nums, 20); Console.WriteLine(idx); -
Olmayan eleman için IndexOf çıktısı nedir?
int[] nums = { 10, 20, 30 }; Console.WriteLine(Array.IndexOf(nums, 25));- 0
- -1
- 25
- 3
Cevabı göster
-1 — Doğru. 25 dizide olmadığı için IndexOf -1 döner.