Tag archives: C#

Livro LINQ com C#

Foi lançado o livro de LINQ com C#, escrito pelo Paulo Morgado e pelo Luis Abreu.

Certamente que temos aqui uma boa referência para este tema, tendo em conta a qualidade de informação que estamos habituados a ver cedidas por ambos os autores.

Podem encontrar o livro na FCA, na FNAC e na WOOM.

C# yield

A expressão yield é bastante útil quando queremos os valores de um método que retorna um IEnumerable ou IEnumerator.

Para retornarmos os valores entre o intervalo passado como parâmetro no método GetValuesFromInterval() teriamos algo assim:

static IEnumerable<int> GetValuesFromInterval(int min, int max)
{
        List<int> intervalo = new List<int>();
        for (int i = min+1; i < max; i++)
        {
                intervalo.Add(i);
        }
        return intervalo;
}

Neste exemplo, para retornarmos todos os valores precisamos de criar um List e adicionar todos os nºs do intervalo que indicamos, e por fim retornarmos o List.

Com a expressão yield deixamos de precisar de criar um List e ficamos com o código bastante mais elegante.

static IEnumerable<int> GetValuesFromInterval(int min, int max)
{
        for (int i = min + 1; i < max; i++)
        {
                yield return i;
        }
}