Desenvolvimento - C#

Truques em coleções com LINQ e C# 3.0 - Parte 1

Demonstro aqui mais alguns exemplos úteis para trabalhar com coleções em C# 3.0, em especial descobrir Intersões, fazer união e as Exceções entre uma coleção e outra.

por Rodolfo Paoni



Demonstro aqui mais alguns exemplos úteis para trabalhar com coleções em C# 3.0, em especial descobrir Intersões, fazer união e as Exceções entre uma coleção e outra. Em alguns casos é mais fácil de usar do que NameValueCollection para resolver esse tipo de problema:
#region Intersect

var listOne = new List() { 1, 2, 3, 4, 5 };
var listTwo = new List() { 3, 4, 5, 6, 7 };

var intIntersect = listOne.Intersect(listTwo);

foreach (var i in intIntersect)
{
     Console.WriteLine(i);
}

#endregion

#region Except

var listThree = new string[] { "Pete", "On", "Software" };
var listFour = new string[] { "Joel", "On", "Software" };

var stringExcept = listThree.Except(listFour);

foreach (var s in stringExcept)
{
    Console.WriteLine(s);
}

#endregion

#region Union

var listFive = new string[] { "Pete", "Pete", "On", "Software" };
var listSix = new string[] { "Joel", "On", "Software", "Software" };



var uniqueStrings = listSix.Union(listFive);

foreach (var s in uniqueStrings)
{
     Console.WriteLine(s);
}

#endregion

E não se esqueçam dos Converters, Comparison, Predicates e Actions do C# 2.0 (Explorando alguns Delegates do C# 2.0: Predicates, Converter, Comparison e Action).

Até a próxima!
Rodolfo Paoni

Rodolfo Paoni - Rodolfo Paoni - Desenvolvedor .NET - Twitter: @rodolfopaoni