Aracılığıyla paylaş


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

Bu konuda kaynak verileri gruplar halinde sıralar ve alt sorgu her grubu ayrı ayrı gerçekleştiren bir sorgu oluşturmak için iki farklı yol gösterir.Her örnekte temel tekniği kullanarak kaynak öğeleri gruplandırmak için olan bir devam adlı newGroup, karşı yeni bir alt sorgu oluşturma ve newGroup.Dış sorgu tarafından oluşturulan her yeni Grup karşı bu alt sorgu çalıştırılır.Bu belirli örnekte nihai çıktı değil bir grup, ancak anonim türleri düz bir dizi olduğunu unutmayın.

Grup hakkında daha fazla bilgi için bkz: group tümcesi (C# Başvurusu).

Continuations hakkında daha fazla bilgi için bkz: into (C# Başvurusu).Aşağıdaki örnek veri kaynağı olarak bir bellek içi veri yapısı kullanır, ancak bu tür için de aynı ilkeler uygulanır LINQ veri kaynağı.

Örnek

public void QueryMax()
{
    var queryGroupMax =
        from student in students
        group student by student.Year into studentGroup
        select new
        {
            Level = studentGroup.Key,
            HighestScore =
            (from student2 in studentGroup
             select student2.ExamScores.Average()).Max()
        };

    int count = queryGroupMax.Count();
    Console.WriteLine("Number of groups = {0}", count);

    foreach (var item in queryGroupMax)
    {
        Console.WriteLine("  {0} Highest Score={1}", item.Level, item.HighestScore);
    }
}

Kod Derleniyor

Bu örnek örnek uygulamada tanımlı nesnelere başvurular içeren Nasıl yapılır: Nesneler Koleksiyonunu Sorgulama (C# Programlama Kılavuzu).Derlemek ve bu yöntemi çalıştırmak için içine Yapıştır StudentClass bu uygulama sınıfı ve buradan bir çağrı ekleyin Main yöntemi.

Bu yöntem uygulama için uyum LINQ 3.5 sürümü gerektirir unutmayın .NET Framework, proje System.Core.dll ve kullanarak bir başvuru içermelidir System.Linq için yönerge.LINQ sql için XML LINQ ve LINQ DataSet türleri için gerekli ek usings ve başvuru.Daha fazla bilgi için bkz. Nasıl yapılır: Bir LINQ Projesi Oluşturma.

Ayrıca bkz.

Kavramlar

LINQ Sorgu İfadeleri (C# Programlama Kılavuzu)