Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 2718|Yanıt: 0

[Kaynak] .NET/C# ile ToLookup yöntemini toplamak için

[Bağlantıyı kopyala]
Yayınlandı 19.12.2023 20:30:35 | | | |
Gereksinimler: Başkalarının teknik bloglarını okuyun, bazı koleksiyonların ToLookup yöntemini çağırdığını ve bu yöntemin kullanılmadığını öğrenin ve ilgili materyalleri sorgulayarak bu uzatma yönteminin kullanımını öğrenin. ToLookup yöntemi, anahtarları bir değer koleksiyonuna eşlemek için bir-çok'a bir sözlük olan ToLookup<TSource, TK>ey değerini döndürür.

GroupBy vs. ToLookup

GroupBy ve ToLookup, koleksiyonları gruplamak için kullanılan LINQ uzantı yöntemleridir ve aralarındaki temel fark, dönüş türü ve kullanımıdır.

GroupBy yöntemi, IEnumerable<IGrouping<TKey, TElement>> nesnesi döndürür; burada TKey, gruplama anahtarını temsil eden tür, TElement ise eleman tipini temsil eden türdür. Bu yöntem, koleksiyonu belirtilen anahtar seçiciye göre gruplar ve gruplama sonucunu IGrouping<TKey, TElement> nesneleri dizisi olarak döndürür. IGrouping<TKey, TElement> nesneler aynı anahtara sahip bir eleman koleksiyonunu temsil eder. Gruplanmış sonuçları yinelemek için foreach döngüleri veya LINQ sorguları kullanabilirsiniz. GroupBy yöntemi, ancak sonuçlarını tekrar etmeye başladığınızda gerçek gruplama işlemini yürüten gecikmeli bir yürütme işlemidir.

ToLookup yöntemi, ILookup<TKey, TElement> nesnesini döndürür; burada TKey, gruplama anahtarını temsil eden tür, TElement ise öğe tipini temsil eden türdür. Metod, koleksiyonu belirtilen anahtar seçiciye göre gruplar ve gruplama sonucunu ILookup<TKey, TElement> nesnesi olarak döndürür. ILookup<TKey, TElement> nesneler aynı anahtara sahip bir eleman koleksiyonunu temsil eder. Gruplanmış sonuçlara erişmek için bir indeksleyici veya foreach döngüsü kullanabilirsiniz. GroupBy'nin aksine, ToLookup hemen gruplama eylemini çalıştıran ve çağrıldığında sonucu döndüren bir eylemdir.



Örnek: Bir öğrenci bir sınıfta ve bir sınıf birden fazla öğrenciye karşılık gelir. Öğrenci koleksiyonu sınıf bilgilerini içerir ve her sınıfın (veya belirlenen sınıfın) öğrencileri sınıf gruplarına göre çıkarılır.

Kod şöyledir:

Aşağıda gösterildiği gibi:



Referans:Bağlantı girişi görünür.





Önceki:.NET/C# Konsol Komut Satırı Araçları (Parametreler, Seçenekler)
Önümüzdeki:.NET 8 için Docker temel görüntü değişiklikleri
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com