arasındaki fark nedir? LINQ ToDictionary ve ToLookup arasındaki fark nedir? Aynı şeyi yapıyorlar.LINQ ToDictionary ve ToLookup
cevap
Sözlük, bir 1: 1 haritasıdır (her anahtar tek bir değere eşlenir) ve bir sözlük gerekten sonra değiştirilebilir (düzenlenebilir).
Arama, 1: birçok harita (çoklu harita; her anahtar, o anahtardaki değerlerin IEnumerable<>
ile eşleştirilir) ve ILookup<,>
arabiriminde hiçbir değişiklik yoktur.
Bir yan not olarak, bir aramayı (dizinleyici aracılığıyla) var olmayan bir anahtarda sorgulayabilirsiniz ve boş bir sıra elde edersiniz. Bir sözlükle aynısını yapın ve bir istisna alacaksınız.
Peki: her anahtar kaç kayıt paylaşır? O bakmanın
bir aşırı basitleştirilmiş bir yol Lookup<TKey,TValue>
bir Dictionary<TKey,IEnumerable<TValue>>
ToDictionary için kabaca karşılaştırılabilir olmasıdır olduğunu < TKey, TValue> iken ToLookup < TKey, T1, T2, T3, ...> Gruplama ile aynıdır ancak numaralandırma hafızada kalır.
"T1, T2, T3, ..." ile göstermeye çalıştığınız şeyden tam olarak emin değilsiniz; ToLookup ve ToDictionary (yöntemlerin kendileri) hemen hemen aynı API'ye sahiptir –
- 1. Linq-to-SQL ToDictionary()
- 2. Linq ve ToLookup() ile değerlerin sırasını koru()
- 3. C# Linq Sonuç ToDictionary Yardım
- 4. Neden ToDictionary <K,V>(), SQL için LINQ ile kullanıldığında bir derleyici hatası oluşturur?
- 5. Linq
- 6. Linq toplamı ve boş
- 7. MonoDroid, SQLite ve LINQ
- 8. LINQ ve Entity Framework
- 9. ASP.NET Oturumu ve LINQ
- 10. LINQ ve sayfa numaralandırma
- 11. Linq To SQL ve
- 12. LINQ (tarafından ve Kont)
- 13. LINQ ve AutoMapper
- 14. AutoMapper devralma ve Linq
- 15. Birden çok Linq ifadesini birleştirin
- 16. Linq, bir deyimde yalnızca bir kez işlev çağrısı
- 17. Linq: GroupBy, Sum ve Kont
- 18. Linq ve IN yan tümcesi
- 19. LINQ ve doğal sıralama düzeni
- 20. .net MVC, SelectLists ve LINQ
- 21. C# Linq ve Xml Okuma
- 22. LINQ: Birleştirme ve grubu birleştirme
- 23. C# Grupby Linq ve foreach
- 24. AddRange() ve LINQ kopyalama sorunu
- 25. JSON.NET ve LINQ kullanarak diziler
- 26. LINQ denetim ve geçerli kullanıcı
- 27. LINQ ve Sayma uzantısı yöntemi
- 28. > ve LINQ tür kesmesi
- 29. LINQ
- 30. LINQ
Ayrıca bir grup için biraz benzer? –
Biraz, aslında. –
@Carlo: Evet, GroupBy'ye oldukça benziyor - GroupBy'nin tembel olması dışında, ToLookup ise hevesli. Olası bir uygulama için http://msmvps.com/blogs/jon_skeet/archive/2011/01/01/reimplementing-linq-to-objects-part-21-groupby.aspx adresine bakın. –