.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ไม่ได้