LINQ - Sorgu Operatörleri

Bir sorgu modelini oluşturan bir dizi uzantı yöntemi LINQ Standart Sorgu Operatörleri olarak bilinir. LINQ sorgu ifadelerinin yapı taşları olarak, bu operatörler filtreleme, sıralama, projeksiyon, toplama vb. Gibi çeşitli sorgu yetenekleri sunar.

LINQ standart sorgu operatörleri, işlevselliklerine göre aşağıdaki kategorilere ayrılabilir.

  • Filtreleme Operatörleri
  • Operatörlere Katılın
  • Projeksiyon İşlemleri
  • Sıralama Operatörleri
  • Gruplama Operatörleri
  • Conversions
  • Concatenation
  • Aggregation
  • Niceleyici İşlemleri
  • Bölme İşlemleri
  • Üretim İşlemleri
  • İşlemleri Ayarla
  • Equality
  • Eleman Operatörleri

Filtreleme Operatörleri

Filtreleme, sonuç kümesini, yalnızca belirli bir koşulu karşılayan seçilmiş öğelere sahip olacak şekilde kısıtlama işlemidir.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
nerede Koşul işlevine göre değerleri filtreleme nerede Nerede
OfType Değerleri, belirtilen tür olma yeteneklerine göre filtrele Uygulanamaz Uygulanamaz

Operatörlere Katılın

Birleştirme, birbirleriyle ilişkileri takip etmesi zor olan veri kaynaklarının doğrudan hedeflendiği bir işlemi ifade eder.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Katılmak Operatör, eşleşen anahtarlar temelinde iki diziyi birleştirir katıl… içinde… eşittir… eşittir… X In…, y In… Burada xa = ya
GroupJoin İki diziyi birleştirin ve eşleşen öğeleri gruplandırın katıl… içinde… açık… eşittir… içine… Gruba Katıl… Giriş… Açık…

Projeksiyon İşlemleri

Projeksiyon, bir nesnenin yalnızca belirli özelliklere sahip tamamen yeni bir forma dönüştürüldüğü bir işlemdir.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Seçiniz Operatör, değerleri bir dönüştürme işlevi temelinde yansıtır seç Seçiniz
SelectMany Operatör, bir dönüştürme işlevine dayanan ve aynı zamanda bunları tek bir diziye düzleştiren değer dizilerini yansıtır Birden çok cümlecik kullan Birden çok From cümlesi kullanın

Sıralama Operatörleri

Bir sıralama işlemi, bir dizinin öğelerinin tek veya daha fazla öznitelik temelinde sıralanmasına izin verir.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Tarafından sipariş Operatör, değerleri artan düzende sıralar tarafından sipariş Tarafından sipariş
OrderByDescending Operatör, değerleri azalan düzende sıralar siparişe göre ... azalan Sıralama Ölçütü ... Azalan
ThenBy Artan düzende ikincil bir sıralama yürütür tarafından sipariş …, … Tarafından sipariş …, …
ThenByDescending Azalan bir sırada ikincil bir sıralama yürütür siparişe göre…,… azalan Sıralama Ölçütü…,… Azalan
Tersine çevirmek Bir koleksiyondaki öğelerin sırasını tersine çevirir Uygulanamaz Uygulanamaz

Gruplama Operatörleri

Operatörler verileri ortak bir paylaşılan özniteliğe göre bazı gruplara koyarlar.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
GroupBy Bir öğe dizisini gruplar halinde düzenleyin ve bunları IGrouping <anahtar, öğe> türünde bir IEnumerable koleksiyonu olarak döndürün grupla… grupla… tarafından… içine… Grupla… Gönderen… İçine…
ToLookup Bir dizi anahtar çiftinin döndürüldüğü bir gruplama işlemini yürütün Uygulanamaz Uygulanamaz

Dönüşümler

Operatörler, giriş nesnelerinin türünü değiştirir ve çok çeşitli uygulamalarda kullanılır.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
AsEnumerable Yazılan girdiyi IEnumerable <T> olarak döndürür Uygulanamaz Uygulanamaz
AsQueryable Bir (genel) IEnumerable, (genel) bir IQueryable'a dönüştürülür Uygulanamaz Uygulanamaz
Oyuncular Bir koleksiyonun öğelerinin belirli bir türe dönüştürülmesini gerçekleştirir Açıkça yazılmış bir aralık değişkeni kullanın. Örneğin: dizeden dizge olarak Kimden… Olarak…
OfType Değerleri, belirli bir türe dönüştürülme yeteneklerine bağlı olarak filtreler Uygulanamaz Uygulanamaz
Sıralamak Sorgu yürütmeye zorlar ve bir koleksiyonun bir diziye dönüştürülmesini sağlar Uygulanamaz Uygulanamaz
ToDictionary Bir anahtar seçici işlevi temelinde, öğeleri bir Dictionary <TKey, TValue> olarak ayarlayın ve bir LINQ sorgusunun yürütülmesini zorlar Uygulanamaz Uygulanamaz
Listeye Bir koleksiyonu List <T> 'ye dönüştürerek bir sorgunun yürütülmesini zorlar Uygulanamaz Uygulanamaz
ToLookup Bir sorgunun yürütülmesini zorlar ve anahtar seçici işlevi temelinde öğeleri bir Lookup <TKey, TElement> 'e yerleştirir Uygulanamaz Uygulanamaz

Birleştirme

İki dizinin birleştirilmesini gerçekleştirir ve yinelenenleri kaldırmaması dışında, çalışması açısından Union operatörüne oldukça benzer.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Concat Tek bir sekansın oluşturulması için iki sekans birleştirilir. Uygulanamaz Uygulanamaz

Toplama

Her türden istenen toplamayı gerçekleştirir ve LINQ'da özel toplamalar oluşturmaya izin verir.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Agrega Özel toplama işlemi gerçekleştirmek için bir koleksiyonun değerleri üzerinde çalışır Uygulanamaz Uygulanamaz
Ortalama Bir değer koleksiyonunun ortalama değeri hesaplanır Uygulanamaz Topla… İçinde… Ortalamaya ()
Miktar Koleksiyondaki bir yüklem işlevini karşılayan öğeleri sayar Uygulanamaz Topla… İçinde… Saymaya ()
LonCount Büyük bir koleksiyonda bir yüklem işlevini karşılayan öğeleri sayar Uygulanamaz Topla… İçinde… LongCount'a ()
Max Bir koleksiyondaki maksimum değeri bulun Uygulanamaz Topla… İçinde… Maks () İçerisinde
Min Bir koleksiyonda mevcut olan minimum değeri bulun Uygulanamaz Topla… İçinde… En Az ()
Toplam Bir koleksiyondaki değerlerin toplamını bulun Uygulanamaz Topla… İçinde… Topla ()

Niceleyici İşlemleri

Bu operatörler, bir dizideki bazı veya tüm öğeler belirli bir koşulu karşıladığında, Doğru veya Yanlış gibi bir Boole değeri döndürür.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Herşey Bir dizinin tüm öğeleri bir yüklem koşulunu karşılıyorsa 'True' değerini döndürür Uygulanamaz Topla… İçinde… Hepsi İçinde (…)
Hiç Aynı öğenin herhangi bir öğesinin belirli bir koşulu karşılayıp karşılamadığını bir dizi arayarak belirler Uygulanamaz Topla… İçinde… Herhangi Birine ()
İçerir Bir dizide belirli bir öğenin bulunduğunu bulursa, dizi bu belirli öğeyi içermiyorsa, "Doğru" değeri döndürür, "yanlış" değer döndürülür Uygulanamaz Uygulanamaz

Bölüm Operatörleri

Bir giriş sırasını, sıranın öğelerini yeniden düzenlemeden ve ardından bunlardan birini döndürmeden iki ayrı bölüme ayırın.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Atla Bir dizideki belirli sayıda öğeyi atlar ve kalanları döndürür Uygulanamaz Atla
SkipWhile Atlanacak öğe sayısının bir Boolean koşulu tarafından belirtilmesi dışında tek istisna ile Skip ile aynı Uygulanamaz Şu Anda Atla
Al Bir diziden belirli sayıda öğe alın ve kalanları atlayın Uygulanamaz Al
TakeWhile Alınacak eleman sayısının bir Boole koşulu tarafından belirtilmesi dışında Take ile aynı Uygulanamaz Zaman Al

Üretim İşlemleri

Kuşak operatörler tarafından yeni bir değerler dizisi oluşturulur.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
DefaultIfEmpty Boş bir diziye uygulandığında, bir dizi içinde varsayılan bir öğe oluştur Uygulanamaz Uygulanamaz
Boş Boş bir değerler dizisi döndürür ve en basit nesilsel operatördür Uygulanamaz Uygulanamaz
Aralık Bir dizi tam sayı veya sayı içeren bir koleksiyon oluşturur Uygulanamaz Uygulanamaz
Tekrar et Belirli bir uzunlukta tekrarlanan değerleri içeren bir dizi oluşturur Uygulanamaz Uygulanamaz

İşlemleri Ayarla

Ayarlanmış işlemler için, her biri farklı kriterlere göre bir sonuç veren dört operatör vardır.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
Farklı Varsa yinelenen verileri filtreleyerek bir koleksiyondaki benzersiz değerlerin bir listesini verir Uygulanamaz Farklı
Dışında İki koleksiyonun değerlerini karşılaştırır ve bir koleksiyondan diğerinde olmayanları döndürür Uygulanamaz Uygulanamaz
Kesişim İki ayrı koleksiyonda aynı bulunan değerler kümesini verir Uygulanamaz Uygulanamaz
Birlik İki farklı koleksiyonun içeriğini, yinelenen içerik olmadan da tek bir listede birleştirir Uygulanamaz Uygulanamaz

Eşitlik

İki cümleyi (numaralandırılabilir) karşılaştırır ve tam bir eşleşme olup olmadığını belirler.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
SıraEqual İki dizinin birbiriyle aynı olduğu bulunursa bir Boolean değeri verir Uygulanamaz Uygulanamaz

Eleman Operatörleri

DefaultIfEmpty dışında kalan tüm sekiz standart sorgu öğesi işleci bir koleksiyondan tek bir öğe döndürür.

Örnekleri Göster

Şebeke Açıklama C # Sorgu İfadesi Sözdizimi VB Sorgu İfadesi Sözdizimi
ElementAt Bir koleksiyondaki belirli bir dizinde bulunan bir öğeyi döndürür Uygulanamaz Uygulanamaz
ElementAtOrDefault Element ile aynı: Belirli bir dizinin aralık dışında olması durumunda da varsayılan bir değer döndürmesi dışında Uygulanamaz Uygulanamaz
İlk Bir koleksiyondaki ilk öğeyi veya belirli bir koşulu karşılayan ilk öğeyi alır Uygulanamaz Uygulanamaz
FirstOrDefault İlk ile aynı, ancak bu tür öğelerin olmaması durumunda varsayılan bir değer döndürmesi dışında Uygulanamaz Uygulanamaz
Son Bir koleksiyonda bulunan son öğeyi veya belirli bir koşulu karşılayan son öğeyi alır Uygulanamaz Uygulanamaz
LastOrDefault Son ile aynı, ancak böyle bir öğenin olmadığı durumda varsayılan bir değer döndürmesi dışında Uygulanamaz Uygulanamaz
Tek Bir koleksiyonun yalnız öğesini veya belirli bir koşulu karşılayan tek öğeyi döndürür Uygulanamaz Uygulanamaz
SingleOrDefault Tek ile aynıdır, tek farkı, böyle bir yalnız elemanın mevcut olmaması durumunda ayrıca bir varsayılan değer döndürmesidir. Uygulanamaz Uygulanamaz
DefaultIfEmpty Koleksiyon veya liste boşsa veya boşsa varsayılan bir değer döndürür Uygulanamaz Uygulanamaz