Arquivo

Posts Tagged ‘ienumerable’

Operador Yield em C#

Recentemente criando um método que retorna IEnumerable, fiz um esforço pra lembrar desse operador mas só consegui lembrar dele agora, depois de constatar sua existência no Ruby: “yield é a palavra reservada de Ruby que pega um ou mais objetos, envia para um bloco para processá-los e devolve o retorno do bloco.”.
No C# podemos utilizar o yield na seguinte situação:

Exemplo Comum de método que retorna uma Estrutura de Dados IEnumerable SEM Yield:

public static IEnumerable<int> Exemplo1(int numero)
        {
            var res = new List<int>();

            for (int i = 0; i < numero; i++)
            {
                res.Add(i);
            }

            return res;
        }

Exemplo Comum de método que retorna uma Estrutura de Dados IEnumerable COM Yield:

public static IEnumerable<int> Exemplo2(int numero)
        {
            for (int i = 0; i <= numero; i++)
                yield return i;
        }

Yield deixa o código mais limpo.
Vale a pena utilizá-lo.


Fontes:
http://blastersystems.com/blog/2009/10/o-operador-yield-c/
http://umamao.com/questions/O-que-faz-a-palavra-reservada-yield-em-Ruby/answers/4dace8c4d196cb6feb0001b0
http://unplugged.giggio.net/unplugged/post/Porque-eu-adoro-C-yield.aspx

Categorias:C#, Dicas / Tips Tags:, , , ,
Guia Ecológico

Despertando a consciência que preserva!

Viagem e Voo

Dicas para viagens, férias e voos nacionais e internacionais

Ivan Guimarães Meirelles

Analista Desenvolvedor

Void Podcast

Vazio e sem retorno de valor

Elemar DEV

Negócios, tecnologia e desenvolvimento

2,000 Things You Should Know About WPF

Everything a WPF Developer Needs to Know, in Bite-Sized Chunks

Gabriel RB.net

Blog técnico, com dicas, códigos, novidades e problemas do dia-a-dia programando.

Alexandre Valente's Blog

Experiências em tecnologia e assuntos diversos

%d blogueiros gostam disto: