C# Linq First Kullanımı
C# programlama dilinde, Linq bileşeni içindeki First() metodu, isteğe bağlı bir koşul için koleksiyondaki ilk öğeyi döndürür.
Aşağıdaki örneği inceleyelim..
İlk olarak koleksiyonumuzun (collection) oluşturulduğu Ogrenci ve Sinif class larımızı hazırlayalım.
class Ogrenci
{
public int Id { get; set; }
public string Ad { get; set; }
}
class Sinif
{
public readonly List ogrenciler;
public Sinif()
{
this.ogrenciler = OgrenciYarat().ToList();
}
private IEnumerable OgrenciYarat()
{
yield return new Ogrenci { Id = 1, Ad = "Ali" };
yield return new Ogrenci { Id = 2, Ad = "Erdem" };
yield return new Ogrenci { Id = 3, Ad = "Ayşe" };
yield return new Ogrenci { Id = 4, Ad = "Lale" };
yield return new Ogrenci { Id = 5, Ad = "Gül" };
yield return new Ogrenci { Id = 6, Ad = "Osman" };
yield return new Ogrenci { Id = 7, Ad = "Irmak" };
yield return new Ogrenci { Id = 8, Ad = "Tarık" };
}
}
Oluşturulan sınıflarımızla birlikte First() metodumuzu kullanalım..
Sinif sinif = new Sinif();
var kayit = sinif.ogrenciler.First(x => x.Id == 1);
Burada First() metodumuzu kullanarak, "id" 'si 1 olan ilk kayıdın döndürülmesini istedik ve değişkenimize atadık.
Not : Eğer belirtilen koşulda bir kayıt bulamazsa method hata döner (throws an exception). Bu yüzden dikkatli kullanılmalıdır. Eğer arama koşulumuzun boş dönme ihtimali varsa FirstOrDefault() metodunun kullanılması önerilir.
Tüm kod aşağıdaki gibi olacaktır.
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplicationTest
{
class Program {
static void Main(string[] args) {
Sinif sinif = new Sinif();
var kayit = sinif.ogrenciler.First(x => x.Id == 1);
}
}
class Ogrenci
{
public int Id { get; set; }
public string Ad { get; set; }
}
class Sinif
{
public readonly List ogrenciler;
public Sinif()
{
this.ogrenciler = OgrenciYarat().ToList();
}
private IEnumerable OgrenciYarat()
{
yield return new Ogrenci { Id = 1, Ad = "Ali" };
yield return new Ogrenci { Id = 2, Ad = "Erdem" };
yield return new Ogrenci { Id = 3, Ad = "Ayşe" };
yield return new Ogrenci { Id = 4, Ad = "Lale" };
yield return new Ogrenci { Id = 5, Ad = "Gül" };
yield return new Ogrenci { Id = 6, Ad = "Osman" };
yield return new Ogrenci { Id = 7, Ad = "Irmak" };
yield return new Ogrenci { Id = 8, Ad = "Tarık" };
}
}
}