Popüler Yayınımıza da Göz Atabilirsiniz
C# ile List İçinde Değer Arama ve Bulma Find ve FindAll Komutu
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
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
Bu blogdaki popüler yayınlar
C# Puan Tablosu Oluşturma
Merhaba arkadaşlar bugün sizlere bir menajer oyununda takımların puan tablosunu ve doğru biçimde sıralamayı nasıl yapacağımızı göstereceğim. Tabi bildiğimiz üzere ligde takımlar puanına göre sıralanıyor eşit olması durumunda ise averaj ve atılan gollere bakılıyor.Bizde bu sisteme göre yapacağız. Öncelikle böyle büyük çaplı bir menajer oyununda classları kullanmamız şarttır. Bize bir "Takım" adında class lazım , hemen oluşturalım. Bu oluşturduğumuz Takım class'ına IComparable interface'ni uygulayalım bu yapının bize verdiği CompareTo komutuyla işlemlerimizi kolaylıkla gerçekleştireceğiz. Eğer isterseniz hazırlamış olduğum football manager youtube serisinide kanalımdan izleyebilirsiniz. https://www.youtube.com/playlist?list=PLw919wW8ikxenpnSTVecZ-oWZjXbPwEDl public class Takim : IComparable { string takim_adi; int Puan; ...
Başarı Not Ortalama Kaldı Geçti Uygulaması Hazır Ödev C#
Ödev cevaplarında, kişinin girdiği sınav notlarını tutarak onun, not ortalamasını hesaplama, sınıf dersi geçti kaldı ve öğrenci başarı durumu belirlemenin kodlarını göstereceğiz. İlk olarak not ortalamasını hesaplayalım Console .WriteLine( "Merhaba Hoş geldiniz Uygulamamıza" ); Console .WriteLine( "Vize notunuzu giriniz!" ); int vize_notu = Int32 .Parse( Console .ReadLine()); Console .WriteLine( "Final notunuzu giriniz!" ); int final_notu = Int32 .Parse( Console .ReadLine()); int not_ortalaması = vize_notu / 100 * 40 + final_notu / 100 * 60; Console .WriteLine( "Not Ortalamanız: " + not_ortalaması); Kullanıcının girdiği değerleri Console.Readline ile okuyup int değişkene dönüştürüyoruz. Daha sonra yüzdelerini alıp topluyoruz. Bu örnekte vize yüzdesi 40 , finalin yüzdesi...
Yorumlar
Yorum Gönder