sexta-feira, 9 de outubro de 2009
Ótimo Blog de Sharepoint
Olá amigos, tudo em paz?
Acessem o blog sharepoint-br do meu amigo Diego Humel, com informações precisas sobre Sharepoint e afins, tudo em português.
Bom para quem já conhece ou para quem quer conhecer, inclusive com posts sobre a evolução do Sharepoint e aplicações deste.
[]'s
quinta-feira, 1 de outubro de 2009
C# - Yield return
Olá, amigos! Hoje falarei sobre uma funcionalidade interessante do C#.
Existem algumas funcionalidades simples que poupam um trabalhão mas nem sempre são usadas. Como uma dessas funcionalidades, podemos considerar o iterador "yield".
Esta funcionalidade está disponível desde a versão 2.0 do C# mas acaba passando despercebida pela maioria dos desenvolvedores.    
Basicamente, o operador "yield" é usado para iterar através de objetos retornados por um método. Ele cria um mecanismo de estado via IL para que seja possível criar métodos que conservem o seu estado sem ser necessário manter o estado via código.
Como exemplo simples, vamos usar um exemplo simples que retorna os itens pares em uma coleção:
public IEnumerable RetornaPares(int[] numeros)    
{     
    List<int> pares = new List<int>();     
    foreach (int n in numeros)     
    {     
        if (n % 2 == 0)     
            pares.Add(n);     
    }     
    return pares;     
}
Normalmente usamos um list para armazenar os itens a serem retornados.    
Usando yield return ficaria assim:
public IEnumerable PegarPares(int[] numeros)    
{     
    foreach (int n in numeros)     
    {     
        if (n % 2 == 0)     
            yield return n;     
    }     
} 
Veja que o yield faz o trabalho para você e retorna o resultado correto, porém iterando pelos itens sem a intervenção do desenvolvedor, não sendo necessário criar nenhuma lista para o armazenamento.
Até a próxima!
Referências:
http://www.c-sharpcorner.com/UploadFile/rmcochran/yieldreturn04022006113850AM/yieldreturn.aspx
 
