Требования: Читайте технические блоги других людей, обнаруживайте, что некоторые коллекции называют метод ToLookup, этот метод не использовался, и затем запросите соответствующие материалы, чтобы узнать о применении этого метода. Метод ToLookup возвращает значение ToLookup<TSource, TKey> словарь один-к-многие, позволяющий сопоставлять ключи в набор значений.
GroupBy против ToLookup
GroupBy и ToLookup — это методы расширения LINQ для группировки коллекций, и главное различие между ними — тип возврата и их использование.
Метод GroupBy возвращает объект IEnumerable<IGrouping<TKey, TElement>>, где TKey — тип, представляющий ключ группировки, а TElement — тип, представляющий тип элемента. Этот метод группирует коллекцию по указанному селектору ключа и возвращает результат группировки в виде последовательности объектов IGrouping<TKey, TElement>. IGrouping<TKey, TElement> объекты представляют собой набор элементов с одним и тем же ключом. Вы можете использовать циклы Foreach или LINQ-запросы для итераций по сгруппированным результатам. Метод GroupBy — это операция задержки выполнения, которая выполняет саму операцию группировки только при начале прохождения результатов.
Метод ToLookup возвращает объект ILookup<TKey, TElement>, где TKey — тип, представляющий ключ группировки, а TElement — тип, представляющий тип элемента. Метод группирует коллекцию по указанному селектору ключа и возвращает результат группировки в виде объекта ILookup<TKey, TElement>. ILookup<TKey, TElement> объекты представляют собой набор элементов с одним и тем же ключом. Вы можете использовать индексатор или цикл foreach для доступа к сгруппированным результатам. В отличие от GroupBy, ToLookup — это мгновенное действие, которое немедленно выполняет действие группировки и возвращает результат при вызове.
Пример: Ученик находится в классе, и класс соответствует нескольким ученикам. Коллекция учащихся содержит информацию о классах, а ученики каждого класса (или определённого класса) выводятся в соответствии с группами классов.
Код таков:
Как показано ниже:
Ссылка:Вход по гиперссылке виден.
|