Popüler Yayınımıza da Göz Atabilirsiniz

C# ile List İçinde Değer Arama ve Bulma Find ve FindAll Komutu

C# derslerinde koleksiyon yapısı olan List'in dizilerden farklı olarak içindeki bir değeri ya da değer aralığını birden çok değeri arayıp bulmayı sizinle göreceğiz. Find ve FindAll komutlarından yararlanacağız. İsterseniz kendi oluşturmuş olduğunuz bir class değerini de arayabilirsiniz.


Referans olarak
using System.Collections.Generic;
using System.Linq;

bu referans kütüphaneler kullanıyoruz. Eğer ekli değilse class dosyamızın en üst satırlarına ekleyebiliriz.

            List<string> texts = new List<string>();
            texts.Add("RehaStudio");      

Mesela yukarıda bir texts adında List koleksiyonu oluşturduk ve "RehaStudio" adında bir eleman ekledik. 

            string deger = texts.Find(value => value == "RehaStudio");

Burada list ifademize Find komutunu yazıyoruz ve içine ise bir şart ifadesi girebiliriz. value => diyerek bir değer tanımladık ve sonrasında şartımızı giriyoruz. If yapısı olarak düşünebilirsiniz iç kısmı.

            string deger = texts.Find(value => value.StartsWith("Re"));

Mesela yukarıda bir bool olarak şart girdik ve Re ile başlayan string değerini bize verecek ama unutmayalım ki Find ile sadece bir eleman bulup , alabiliriz. Daha fazla değer almak istersek FindAll komutunu kullanacağız.

            List<string> degerler = texts.FindAll(value => value.StartsWith("Re"));

Bu kısımda ise FindAll diyerek Re ile başlayan tüm string değerlerini alıyoruz. Birden çok eleman aldığımız için artık değişken türümüz string değil bir List koleksiyonu oluyor.

            class Kisi
            {
                public int yas;
            }

          List<Kisi> kisiler = new List<Kisi>();
            
Kendimiz bir Kisi sınıfı oluşturduk ve bir list koleksiyonunda topladık tüm kişileri.

          List<Kisi> yetiskinler =  kisiler.FindAll(value => value.age >= 18);

İçinden ise yaşı 18'den daha büyük olan herkesi bulmak istedik ve yukarıdaki gibi yapıp bulabiliyoruz.

         List<Kisi> yetiskinler =  kisiler.FindAll(value => value.age >= 18 && value.age < 65);

&& ve || operatörleri de kullanarak birden fazla şart girebiliriz bu şekilde. Bu yayında list yapısında Find ve FindAll komutları sayesinde arama , değer bulma işlemlerini öğrendik. Yorum atarak sorularınız sorabilirsiniz. Teşekkürler




Yorumlar

Bu blogdaki popüler yayınlar

C# örnekleri oyun nasıl yapılır