Partilhar via


Como: Retornar uma consulta de um método (guia de programação translation from VPE for Csharp)

Este exemplo mostra sistema autônomo retornar uma consulta de um método no valor retornado e sistema autônomo um parâmetro de saída.

Qualquer consulta deve ter um tipo de IEnumerable ou IEnumerable<T>, ou um tipo derivado, sistema autônomo IQueryable<T>. Portanto qualquer valor retornado ou parâmetro de um método que retorna uma consulta out também deve ter o tipo.Se um método materializes uma consulta em um concreta List<T> ou Array tipo, ele é considerado para ser retornando os resultados da consulta em vez da própria consulta. Uma variável de consulta retornada de um método ainda pode ser composta ou modificada.

Para obter um exemplo de como executar uma consulta que é passada para um método, consulte o Objeto dumper exemplo.

Exemplo

No exemplo a seguir, o primeiro método retorna uma consulta sistema autônomo um valor retornado e o segundo método retorna uma consulta sistema autônomo um parâmetro de saída.Observe que em ambos os casos, é uma consulta e não os resultados de consultas que estão sendo devolvidos.

class MQ
{
    IEnumerable<string> QueryMethod1(ref int[] ints)
    {
        var intsToStrings = from i in ints
                            where i > 4
                            select i.ToString();
        return intsToStrings;
    }

    static void Main()
    {
        MQ app = new MQ();

        int[] nums = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        var myQuery = app.QueryMethod1(ref nums);


        //execute myQuery
        foreach (string s in myQuery)
        {
            Console.WriteLine(s);
        }

        //modify myQuery
        myQuery = (from str in myQuery
                   orderby str descending
                   select str).
                  Take(3);

        // Executing myQuery after more
        // composition
        Console.WriteLine("After modification:");
        foreach (string s in myQuery)
        {
            Console.WriteLine(s);
        }

        // Keep console window open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}

Compilando o código

  • Criar um Visual Studio projeto que se destina a .NET estrutura versão 3.5. Por padrão, o projeto tem uma referência a sistema.Core.dll e um using diretiva para o namespace sistema.LINQ.

  • Copie o código em seu projeto.

  • Pressione F5 para compilar e executar o programa.

  • Pressione qualquer tecla para sair da janela do console.

Consulte também

Conceitos

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