Partilhar via


Como: Retornar subconjuntos de propriedades do elemento em uma consulta (guia de programação translation from VPE for Csharp)

Usar um tipo anônimo em uma expressão de consulta quando as duas condições se aplicam:

  • Você deseja retornar apenas algumas das propriedades de cada elemento de fonte.

  • Não é necessário que armazenar os resultados da consulta fora do escopo do método no qual a consulta é executada.

Se você desejar apenas retornar uma propriedade ou campo de cada elemento de fonte, você pode apenas usar o operador ponto no select cláusula. Por exemplo, para retornar somente o ID de cada student, escreva o select cláusula sistema autônomo segue:

select student.ID;

Exemplo

O exemplo a seguir mostra como usar um tipo anônimo para retornar apenas um subconjunto das propriedades de cada elemento de fonte que corresponda à condição especificada.

private static void QueryByScore()
{
    // Create the query. var is required because
    // the query produces a sequence of anonymous types.
    var queryHighScores =
        from student in students
        where student.ExamScores[0] > 95
        select new { student.FirstName, student.LastName };

    // Execute the query.
    foreach (var obj in queryHighScores)
    {
        // The anonymous type's properties were not named. Therefore 
        // they have the same names as the Student properties.
        Console.WriteLine(obj.FirstName + ", " + obj.LastName);
    }
}
/* Output:
Adams, Terry
Fakhouri, Fadi
Garcia, Cesar
Omelchenko, Svetlana
Zabokritski, Eugene
*/

Observe que o tipo anônimo usa nomes do elemento de fonte para suas propriedades se nenhum nome for especificado.Para dar novos nomes para sistema autônomo propriedades no tipo anônimo, gravar o select demonstrativo da seguinte maneira:

select new { First = student.FirstName, Last = student.LastName };

Se você tentar fazer isso no exemplo anterior, em seguida, a Console.WriteLine também deve alterar a demonstrativo:

Console.WriteLine(student.First + " " + student.Last);

Compilando o código

  • Para executar esse código, copiar e colar a classe em um projeto de aplicativo console Visual translation from VPE for Csharp que tenha sido criado no Visual Studio. Por padrão, esse projeto destinos versão 3.5 do .NET Framework, e ela terá uma referência a sistema.Core.dll e um using diretiva para sistema.LINQ. Se um ou mais desses requisitos estão faltando o projeto, você pode adicioná-los manualmente.Para obter mais informações, consulte Como: Criar um projeto LINQ.

Consulte também

Conceitos

Guia de Programação C#

Expressões de consulta do LINQ (guia de programação translation from VPE for Csharp)

Referência

Tipos anônimo (guia de programação translation from VPE for Csharp)