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 |