Aracılığıyla paylaş


Verileri Gruplandırma

Gruplandırma, böylece her gruptaki öğeleri ortak bir özniteliği paylaşan gruplar halinde veri yerleştirme işlemi için başvuruda bulunur.

Bir karakter dizisi gruplandırma sonuçlarını aşağıda gösterilmiştir.Her grup için anahtar karakterdir.

LINQ gruplandırma işlemleri

Veri öğelerini gruplamak standart sorgu işleci yöntemleri aşağıdaki bölümünde listelenir.

Yöntemler

Yöntem adı

Description

C# sorgu ifade sözdizimi

Visual BasicSorgu ifade sözdizimi

Daha Fazla Bilgi

GroupBy

Ortak bir özniteliği paylaşan Grup elemanları.Her grup tarafından temsil edilen bir IGrouping nesne.

group … by

-veya-

group … by … into …

Group … By … Into …

Enumerable.GroupBy``2

Queryable.GroupBy``2

ToLookup

Öğelerine ekler bir Lookup (bir-çok sözlük) dayalı bir anahtar Seçici işlevdir.

Yoktur.

Yoktur.

Enumerable.ToLookup``2

Sorgu ifade sözdizimi örneği

Aşağıdaki kod örneği group by C# [NULL]'ta yan tümcesi veya Group By yan tümcesinde Visual Basic çift veya tek olmasalar uyarınca listesinde Grup tamsayılar için.

Dim numbers As New System.Collections.Generic.List(Of Integer)(
             New Integer() {35, 44, 200, 84, 3987, 4, 199, 329, 446, 208})

        Dim query = From number In numbers 
                    Group By Remainder = (number Mod 2) Into Group

        Dim sb As New System.Text.StringBuilder()
        For Each group In query
            sb.AppendLine(If(group.Remainder = 0, vbCrLf & "Even numbers:", vbCrLf & "Odd numbers:"))
            For Each num In group.Group
                sb.AppendLine(num)
            Next 
        Next 

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output: 

        ' Odd numbers: 
        ' 35 
        ' 3987 
        ' 199 
        ' 329 

        ' Even numbers: 
        ' 44 
        ' 200 
        ' 84 
        ' 4 
        ' 446 
        ' 208
            List<int> numbers = new List<int>() { 35, 44, 200, 84, 3987, 4, 199, 329, 446, 208 };

            IEnumerable<IGrouping<int, int>> query = from number in numbers
                                                     group number by number % 2;

            foreach (var group in query)
            {
                Console.WriteLine(group.Key == 0 ? "\nEven numbers:" : "\nOdd numbers:");
                foreach (int i in group)
                    Console.WriteLine(i);
            }

            /* This code produces the following output:

                Odd numbers:
                35
                3987
                199
                329

                Even numbers:
                44
                200
                84
                4
                446
                208
            */

Ayrıca bkz.

Görevler

Nasıl yapılır: İç İçe Geçmiş Grup Oluşturma (C# Programlama Kılavuzu)

Nasıl yapılır: Dosyaları Uzantıya Göre Gruplama (LINQ)

Nasıl yapılır: Sorgu Sonuçlarını Gruplandırma (C# Programlama Kılavuzu)

Nasıl yapılır: Gruplandırma İşleminde Alt Sorgu Gerçekleştirme (C# Programlama Kılavuzu)

Nasıl Yapılır: Gruplar Kullanarak Bir Dosyayı Birden Çok Dosyaya Bölme (LINQ)

Başvuru

group tümcesi (C# Başvurusu)

Group By Tümcesi (Visual Basic)

System.Linq

Kavramlar

Standart Sorgu İşleçlerine Genel Bakış