Aracılığıyla paylaş


Standart Sorgu İşleçlerine Genel Bakış

Standart sorgu işleçleri oluşturan yöntemlerdir Dil ile Tümleşik Sorgu (LINQ) desen.Bu yöntemlerin çoğu türü uygulayan bir nesne olduğu bir sırada sıraları olarak çalışan IEnumerable arabirimi veya IQueryable arabirimi.Standart sorgu işleçleri filtre, projeksiyon, toplama, sıralama ve daha da dahil olmak üzere sorgu yetenekleri sağlar.

İki tür vardır LINQ standart sorgu işleçleri, tür nesneler üzerinde çalışan bir IEnumerable ve diğer tür nesneler üzerinde çalışan IQueryable.Her Kur yapmak yöntemleri statik üyesi olan Enumerable ve Queryable sınıfları, sırasıyla.Olarak tanımlanan uzantısı yöntemleri üzerinde çalışan türü.Diğer bir deyişle, bunlar statik yöntemi sözdiziminin veya örnek yöntemi sözdizimi kullanılarak çağrılabilir.

Buna ek olarak, standart sorgu işleci için birkaç yöntem türlerini temel alan dışındaki karışmayı IEnumerable veya IQueryable.Enumerable Türünü tanımlayan iki yöntem her iki türdeki nesneleri çalışması IEnumerable.Bu yöntemler Cast``1(IEnumerable) ve OfType``1(IEnumerable), organizayonunuzdaki de Sorgulanacak belirlenmi olmayan veya genel olmayan, bir koleksiyon etkinleştirmek LINQ desen.Bunlar kesinlikle yazılı bir koleksiyon nesnelerinin oluşturarak yaparsınız.Queryable Sınıfını tanımlar iki benzer yöntemler Cast``1(IQueryable) ve OfType``1(IQueryable), nesne türü üzerinde çalışmaya Queryable.

Standart sorgu işleçleri bir singleton değeri ya da değerler dizisi dönmek bunlar üzerinde kendi yürütme zamanlaması olarak değişir.Bir tek değer döndüren bu yöntemler (örneğin, Average ve Sum) hemen çalıştırılacak.Bir sıra döndüren yöntemler sorgu yürütme erteleme ve sýralanabilir bir nesne döndürür.

Bellek içi koleksiyonlarıyla uzanan bu yöntem, diğer bir deyişle çalışması yöntemleri olması durumunda, IEnumerable, sýralanabilir nesnesine döndürülen yöntemine iletilen bağımsız yakalar.Bu nesne numaralandırılan sorgu işlecini mantığı görevli ve sorgu sonuçları döndürülür.

Buna karşılık, yöntemleri, genişletme IQueryable herhangi bir sorgulama davranışı uygulamak değil, ancak gerçekleştirilmesi için sorguyu temsil eden bir ifade ağacını oluşturun.Sorgu işleme kaynak tarafından ele IQueryable nesne.

Sorgu yöntemlerine sorguları karmaşık hale gelmesine olanak veren bir sorguda birbirine zincirleme.

Aşağıdaki kod örneği, standart sorgu işleçleri dizisi hakkında bilgi edinmek için nasıl kullanılabileceğini göstermektedir.

Dim sentence = "the quick brown fox jumps over the lazy dog" 
        ' Split the string into individual words to create a collection. 
        Dim words = sentence.Split(" "c)

        Dim query = From word In words 
                    Group word.ToUpper() By word.Length Into gr = Group 
                    Order By Length _
                    Select Length, GroupedWords = gr

        Dim output As New System.Text.StringBuilder
        For Each obj In query
            output.AppendLine(String.Format("Words of length {0}:", obj.Length))
            For Each word As String In obj.GroupedWords
                output.AppendLine(word)
            Next 
        Next 

        'Display the output
        MsgBox(output.ToString())

        ' This code example produces the following output: 
        ' 
        ' Words of length 3: 
        ' THE 
        ' FOX 
        ' THE 
        ' DOG 
        ' Words of length 4: 
        ' OVER 
        ' LAZY 
        ' Words of length 5: 
        ' QUICK 
        ' BROWN 
        ' JUMPS 
string sentence = "the quick brown fox jumps over the lazy dog";
           // Split the string into individual words to create a collection. 
           string[] words = sentence.Split(' ');

           // Using query expression syntax. 
           var query = from word in words
                       group word.ToUpper() by word.Length into gr
                       orderby gr.Key
                       select new { Length = gr.Key, Words = gr };

           // Using method-based query syntax. 
           var query2 = words.
               GroupBy(w => w.Length, w => w.ToUpper()).
               Select(g => new { Length = g.Key, Words = g }).
               OrderBy(o => o.Length);

           foreach (var obj in query)
           {
               Console.WriteLine("Words of length {0}:", obj.Length);
               foreach (string word in obj.Words)
                   Console.WriteLine(word);
           }

           // This code example produces the following output: 
           // 
           // Words of length 3: 
           // THE 
           // FOX 
           // THE 
           // DOG 
           // Words of length 4: 
           // OVER 
           // LAZY 
           // Words of length 5: 
           // QUICK 
           // BROWN 
           // JUMPS 

Sorgu ifade sözdizimi

Daha sık kullanılan standart sorgu işleçlerin bazıları bir parçası olarak çağrılacak sağlayan C# ve Visual Basic dili anahtar sözcük sözdizimi adanmış bir sorguifade. Anahtar sözcükleri ve bunların karşılık gelen sözdizimleri ayrılmış standart sorgu işleçleri hakkında daha fazla bilgi için bkz: Standart Sorgu İşleçleri için Sorgu İfade Sözdizimi.

Standart sorgu işleçler genişletme

Hedef etki alanında veya teknoloji için uygun oluşturma etki alanına özgü yöntemler tarafından belirlenen standart sorgu işleçlerin güçlendirir.Standart sorgu işleçleri, uzak değerlendirme, sorgu çevirisi ve en iyi duruma getirme gibi ek hizmetler sağlayan kendi uygulamaları ile de değiştirebilirsiniz.Bir örnek için bkz. AsEnumerable``1

İlgili Bölümler

Aşağıdaki bağlantılar, işlevlere göre çeşitli standart sorgu işleçleri hakkında ek bilgi sağlayan konuları ulaşmanızı sağlar.

Verileri Sıralama

Ayarlama İşlemleri

Verileri Filtreleme

Niceleyici İşlemleri

Projeksiyon İşlemleri

Veri Bölümlendirme

Birleştirme İşlemleri

Verileri Gruplandırma

Oluşturma İşlemleri

Eşitlik İşlemleri

Öğe İşlemleri

Veri Türlerini Dönüştürme

Birleştirme İşlemleri

Toplama İşlemleri

Ayrıca bkz.

Başvuru

Enumerable

Queryable

Genişletme Yöntemleri (C# Programlama Kılavuzu)

Kavramlar

LINQ Sorgularına Giriş (C#)

Standart Sorgu İşleçleri için Sorgu İfade Sözdizimi

Standart Sorgu İşleçlerinin Yürütme Yöntemine Göre Sınıflandırılması

Uzantı Yöntemleri (Visual Basic)