コード例 #1
0
        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);
                }
            }
        }