"Enter"a basıp içeriğe geçin

C# Dizide Arama Nasıl Yapılır? For ve Array.IndexOf Metodu.

Merhaba arkadaşlar, bu yazıda C#’ta dizide arama yapmayı anlatacağım. Dizide arama yapmak, bir dizi içinde belirli bir değer veya koşula uyan bir veya daha fazla eleman bulmak anlamına gelir. C#’ta dizide arama nasıl yapılır? C#’ta dizide arama yapmanın birkaç yolu vardır. Bu yazıda en yaygın olanlarından ikisini göstereceğim: for döngüsü ve Array.IndexOf metodu.

For döngüsü ile dizide arama yapmak

For döngüsü, bir dizi üzerinde tekrarlı işlemler yapmak için kullanılan temel bir yapıdır. For döngüsü ile dizide arama yapmak için şu adımları izleyebiliriz:

  • Aramak istediğimiz değeri bir değişkene atayalım. Örneğin, int aranan = 5;
  • Bir for döngüsü başlatalım ve dizi uzunluğu kadar tekrar ettirelim. Örneğin, for (int i = 0; i < dizi.Length; i++)
  • Her tekrarda, dizinin i. elemanının aranan değere eşit olup olmadığını kontrol edelim. Eğer eşitse, i. indeksini ekrana yazdıralım veya başka bir işlem yapalım. Örneğin, if (dizi[i] == aranan) { Console.WriteLine(i); }
  • Döngü bittiğinde, aranan değerin dizide kaç kez ve hangi indekslerde bulunduğunu görmüş oluruz.
using System;
class Program
{
    static void Main(string[] args)
    {
        int[] dizi = { 1, 4, 7, 5, 9, 11, 13, 5, 3 };
        int aranan = 5;
        for (int i = 0; i < dizi.Length; i++)
        {
            if (dizi[i] == aranan)
            {
                Console.WriteLine(i);
            }
        }
    }
}

Array.IndexOf metodu ile dizide arama yapmak

  • Array.IndexOf metodu, bir dizi içinde belirli bir değerin ilk olarak hangi indekste bulunduğunu döndürür. Eğer değer dizide yoksa, -1 döndürür. Array.IndexOf metodu ile dizide arama yapmak için şu adımları izleyebiliriz:
  • Aramak istediğimiz değeri bir değişkene atayalım. Örneğin, int aranan = 5;
  • Array.IndexOf metodu ile diziyi ve aranan değeri parametre olarak verelim ve sonucu bir değişkene atayalım. Örneğin, int sonuc = Array.IndexOf(dizi, aranan);
  • Sonucun -1 olup olmadığını kontrol edelim. Eğer -1 ise, aranan değer dizide yoktur. Eğer -1 değilse, sonuc değişkeni aranan değerin ilk bulunduğu indeksidir. Örneğin, if (sonuc == -1) { Console.WriteLine(“Değer bulunamadı”); } else { Console.WriteLine(sonuc); }
  • Array.IndexOf metodu ile sadece ilk bulunan indeksi elde edebiliriz. Eğer aynı değerden birden fazla varsa veya belirli bir indeksten sonra aramak istiyorsak, Array.IndexOf metodunun başka bir versiyonunu kullanabiliriz. Bu versiyon, başlangıç indeksi ve aranacak eleman sayısı gibi ek parametreler alır. Örneğin, int sonuc = Array.IndexOf(dizi, aranan, 3, 5); // Bu örnekte dizinin 3. indeksinden başlayarak 5 eleman içinde arama yapar.
using System;
class Program
{
    static void Main(string[] args)
    {
        int[] dizi = { 1, 4, 7, 5, 9, 11, 13, 5, 3 };
        int aranan = 5;
        int sonuc = Array.IndexOf(dizi, aranan);
        if (sonuc == -1)
        {
            Console.WriteLine("Değer bulunamadı");
        }
        else
        {
            Console.WriteLine(sonuc);
        }
    }
}

Bu blog yazısında C#’ta dizide arama yapmanın iki farklı yolunu gördük. For döngüsü ve Array.IndexOf metodu ile diziler üzerinde istediğimiz değer veya koşulları bulabiliriz. Umarım faydalı olmuştur. Soru, görüş veya önerileriniz varsa yorum bırakabilirsiniz. Bir sonraki yazıda görüşmek üzere!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.