C# usando o ConvertAll para transferir dados de uma lista para outra lista.

Eu vejo por ae e já fiz muito, os desenvolvedores converterem uma lista para outra lista, utilizando foreach.

Funciona, mas não há melhor maneira de converter uma lista para outra lista usando ConvertAll ();

Só para explicar-lhe melhor cenário, vamos supor que você tem duas classes, conforme abaixo:

public class Student
 {
    public string Name { get; set; }
    public int Age { get; set; }
 }
 
 public class InternalStudent
 {
    public string IName { get; set; }
    public int IAge { get; set; }
 }

Criação da primeira lista:

 List<InternalStudent> lstInternalStudent = new 
 List<InternalStudent>{ new InternalStudent{IName = "Studante1", IAge = 20}, 
 new InternalStudent{IName = "Studante2", IAge = 25}};
 

Agora quero criar a segunda lista passando os valores da primeira lista sem usar um for ou foreach, segue o código:

 List<Student> listStudent= lstInternalStudent 
 .ConvertAll(x => new Student { Age = x.IAge, Name = x.IName });
 

Pronto é muito fácil e ainda funciona como uma espécie de Automapper.

É isso ae o blog é meu escrevo o que eu quiser! se ajudou em algo ou gostou, posta ae um comentário.

 

Tagged

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *