Requisitos: Leia blogs técnicos de outras pessoas, veja que algumas coleções chamam o método ToLookup, esse método não foi tocado, e então consulte os materiais relevantes para aprender o uso desse método de extensão. O método ToLookup retorna um valor de ToLookup<TSource, TKey> um dicionário um-para-muitos para mapear chaves a uma coleção de valores.
GroupBy vs. ToLookup
GroupBy e ToLookup são ambos métodos de extensão LINQ para agrupar coleções, e a principal diferença entre os dois é o tipo de retorno e o uso.
O método GroupBy retorna um objeto IEnumerable<IGrouping<TKey, TElement>>, onde TKey é o tipo que representa a chave de agrupamento e TElement é o tipo que representa o tipo de elemento. Esse método agrupa a coleção de acordo com o seletor de chaves especificado e retorna o resultado do agrupamento como uma sequência de objetos IGrouping<TKey, TElement>. IGrouping<TKey, TElement> objetos representam uma coleção de elementos com a mesma chave. Você pode usar loops foreach ou consultas LINQ para iterar sobre resultados agrupados. O método GroupBy é uma operação de execução retardada que só executa a operação real de agrupamento quando você começa a iterar seus resultados.
O método ToLookup retorna um objeto ILookup<TKey, TElement>, onde TKey é o tipo que representa a chave de agrupamento e TElement é o tipo que representa o tipo de elemento. O método agrupa a coleção de acordo com o seletor de chaves especificado e retorna o resultado do agrupamento como um objeto ILookup<TKey, TElement>. Os objetos ILookup<TKey, TElement> representam uma coleção de elementos com a mesma chave. Você pode usar um indexador ou um loop foreach para acessar os resultados agrupados. Diferente do GroupBy, o ToLookup é uma ação imediata que executa imediatamente a ação de agrupamento e retorna o resultado quando chamado.
Exemplo: Um aluno está em uma turma, e uma turma corresponde a vários alunos. A coleção de alunos contém informações de turma, e os alunos de cada turma (ou turma especificada) são produzidos de acordo com os grupos de turma.
O código é o seguinte:
Como mostrado abaixo:
Referência:O login do hiperlink está visível.
|