LINQ Nedir?

Binnazcabuk
2 min readFeb 26, 2021

--

LINQ, programlama diline SQL biçimi veri sorgulama yeteneği ekler. LINQ ile SQL Server veri tabanları, XML belgeleri, ADO.NET Veri Kümeleri (Dataset) ve hafızada bulunan koleksiyon türlerindeki verileri sorgulayabilirsiniz.

Linq yapısında iki çeşit sorgu sözdizimi vardır bunlar;

  • Sorgu Sözdizimi
  • Metot Sözdizimi

*Sorgu Sözdizimine ait basit bir örneğe bakalım.

Satır 15: “liste” dizisinin elemanlarını gez ve gezerken sırası gelen her bir elemanı “sayi” değişken adı ile tanımla

Satır 16: “sıradaki eleman % 2” (yani sayi Mod 2) işlemi yapıldığında 1 sonucunu veriyorsa

Satır 17: 1 sonucu veren sayıyı “tekler” koleksiyonuna ekle.

Satır 21: “foreach” döngüsü kullanarak listenin elemanlarını tek tek gez ve çıktıya yaz.

*Metot Sözdizimi için basit bir örneğe bakalım.

Sorgu sözdiziminde yazdığımız metot ile aynı işlemi yapar tek farkı metot sözdizimi bizi uzun bir sorgu kodu yazmaktan kurtarır ve daha anlaşılırdır.

Temel LINQ Sorguları

Where() : Filtreleme için kullanılır. Generic type özelliğine sahiptir.

OfType() :Özel tipler ile dolu olan koleksiyondaki verilerin belirtilen tipte listelenmesi sağlar.

Çıktı:5 75 şeklindedir.

OrderBy(): Koleksiyon öğelerinin artan yada azalan sıraya göre listelenmesini sağlar. Varsayılan olarak Asceding ‘dir(Artan sıraya göre). Öğelerin azalan sıraya göre listelenmesi için Descending anahtar sözcüğü kullanılır.

Çıktı: Afyon Ankara Bursa Diyarbakır Trabzon Yalova

OrderByDescending(): Koleksiyonda bulunan verilerin belirtilen parametrelerine göre azalan olarak listelenmesini sağlar.

Çıktı: 12 9 7 6 5 2 1

Reverse(): Koleksiyon içerisinde bulunan verilerin listelenme sırasını değiştirme özelliğine sahiptir. Koleksiyondaki verilerin tersine sıralanmasını sağlar.

GroupBy():Koleksiyondaki verilerin gruplanması için kullanılır. GroupBy() metodu ile birden fazla parametre tanımlayarak gruplama yapılabilir.

Any() :Koleksiyonda bulunan verilerin olup olmadığını kontrol eder. Geriye dönen değerler true yada false’dir.

Çıktı: True False

Contains():koleksiyonda bulunan verilerin, belirlenen koşula göre olup olmadığını kontrol eder. Dönen değer tipi true yada false’dur.

All(): koleksiyonda bulunan tüm veriler içerisinde belirlenen koşullara göre kayıt olup olmadığını döner. Geriye dönen değer true ise kayıt var, false ise kayıt yok anlamındadır.

Çıktı: False True

Join(): İki veri kaynağındaki satırları aynı olan bir alan değerini kullanarak birleştirip tek bir liste oluşturmak için kullanılır.

Select(): Koleksiyonda bulunan elementler kullanılarak yeni bir koleksiyon oluşturulur.

SingleOrDefault(): Koleksiyon içerisinde bulunan öğelerden tek öğe döndürür. Koleksiyon boş ise varsayılan değer döner.

Çıktı: 2 0(varsayılan)

Distinct(): Koleksiyon içerisinde bulunan tekrarlayan kayıtların gösterilmesini engeller.

Çıktı: Monday Tuesday Wednesday Thursday Sunday Saturday

ToArray(): Koleksiyonda bulunan verileri diziye dönüştürür.

Çıktı: Type: Int32[] 1 2 3 4 5 6 7 8 9

ToList(): Koleksiyonda bulunan verilerin list’e dönüştürür.

Range():Belirtilen iki değer arasındaki tam sayı değerlerinin koleksiyon halinde dönmesini sağlar.

Çıktı: 6 7 8 9 10 11

Count(): Koleksiyonda bulunan verilerin sayısını verir.

Sum(): Koleksiyon içerisinde bulunan sayısal değerlerin toplanmasını sağlar.

Min(): Koleksiyon içerisinde bulunan sayısal değerlerin ün küçük olanını verir.

Max(): Koleksiyon içerisinde bulunan sayısal verilerin en büyük değere sahip olan elementini döndürür.

Average(): Koleksiyonda bulunan sayısal değerlerin ortalamasını döndürür.

Kaynakça

https://csharp-tutorials.com/

--

--

Binnazcabuk
Binnazcabuk

No responses yet