private void AplicarFiltro() { if (pesquisaPorNome == null) { pesquisaPorNome = ""; } var resultado = CopiaListaAlunos.Where(n => n.Nome.ToLowerInvariant() .Contains(PesquisaPorNome.ToLowerInvariant().Trim())).ToList(); var removerDaLista = Alunos.Except(resultado).ToList(); foreach (var item in removerDaLista) { Alunos.Remove(item); } for (int index = 0; index < resultado.Count; index++) { var item = resultado[index]; if (index + 1 > Alunos.Count || !Alunos[index].Equals(item)) { Alunos.Insert(index, item); } } }