Filtrando Listas tipadas em C#

Uma grande facilidade da linguagem C# quando estamos trabalhando com listas tipadas (Generics) é a possibilidade de filtrarmos os objetos contidos dentro dela de acordo com alguma de suas propriedades. Vou demonstrar um exemplo dessa funcionalidade utilizando o mesmo projeto criado no artigo anterior (Ordenando listas tipadas em C#).nn1º Passo: Vamos criar o método que irá validar se o objeto é condizente com a propriedade a ser validada como filtro do objeto. No exemplo queremos filtrar todos os objetos Pessoa a qual a idade da pessoa seja igual ou maior a 20 anos.nnprivate static bool personFilter( Pessoa p )n{n return (p.Idade >= 20);n}nn2º Passo: Vamos criar o método que será responsável por invocar a filtragem dos objetos da lista de acordo com a mesma e retornar uma “sublista” contendo somente os objetos que corresponderam a filtragem. Nesse passo utilizaremos a propriedade do Framework chamado de FindAll que realiza esta filtragem para nós de acordo com nosso método de filtragem que criamos no passo anterior.nnprivate List findPeople() n{n return this.getPessoas().FindAll(personFilter);n}nn3º Passo: n Agora vamos criar o métod que exibe o resultado da filtragem dos objetos na tela.nnprotected void Page_Load(object sender, EventArgs e) n{n Response.Write(“Pessoas com idade igual ou maior a 20”); n foreach (Pessoa item in this.findPeople()) n{n Response.Write(item.Nome + ” ” + item.Idade + ” “); n}n}nn4º Passo: Resultado exibido na tela.nnnReferência: http://msdn.microsoft.com/en-us/library/fh1w7y8z.aspxnn

Post a Comment

Previous Post Next Post