.ToLookup<TSource, TKey>
ส่งคืนILookup<TKey, TSource>
ไฟล์. นอกจากนี้ยังดำเนินการติดต่อILookup<TKey, TSource>
IEnumerable<IGrouping<TKey, TSource>>
.GroupBy<TSource, TKey>
ส่งคืนIEnumerable<IGrouping<Tkey, TSource>>
ไฟล์.
iLookup มีคุณสมบัติตัวทำดัชนีที่ใช้งานง่ายดังนั้นจึงสามารถใช้ในลักษณะเหมือนพจนานุกรม (หรือเหมือนการค้นหา) ในขณะที่ GroupBy ทำไม่ได้ GroupBy โดยไม่มีตัวสร้างดัชนีเป็นความเจ็บปวดในการทำงานด้วย วิธีเดียวที่คุณสามารถอ้างอิงวัตถุส่งคืนได้คือการวนลูปผ่าน (หรือใช้วิธีการขยาย LINQ อื่น) กล่าวอีกนัยหนึ่งในกรณีใด ๆ ที่ GroupBy ทำงาน ToLookup ก็จะทำงานได้เช่นกัน
ทั้งหมดนี้ทำให้ฉันมีคำถามว่าทำไมฉันถึงต้องรำคาญกับ GroupBy? ทำไมจึงควรมีอยู่?
GroupBy
คือIQuerable
,ILookup
ไม่ได้