none
Como remover um array de uma lista de arrays? RRS feed

  • Pergunta

  • Bom dia.

    . Eu criei uma lista
                    oListaAcessosMesAtualBO = new List<AcessosBO>[qtdSecoes];

    . Depois preencho a lista

                    oListaAcessosMesAtualTodasSecoesBO = oAcessosDAO.buscarListaAcessos(mesAtual.Month, mesAtual.Year, filtroSecoes);

    . Depois percorro a lista, porém se ela retornasse vazia (==0) eu queria remover

                    for (int j = 0; j < oUsuarioBO.OListaSecaoBO.Count; j++)
                    {

                        if (oListaAcessosMesAtualBO[contador].Count == 0)
                        {
                            oListaAcessosMesAtualBO[contador] <- remover completamente esse cara

                        }

                    }

    segunda-feira, 11 de junho de 2018 14:04

Respostas

  • Bom dia,

      Veja esse exemplo:

     List<string[]> itens = new List<string[]>();
                itens.Add(new string[]{ "aaa"});
                itens.Add(new string[] { "aaa" });
                itens.Add(new string[] { "aaa" });
                itens.Add(new string[] { "" });
                itens.Add(new string[] { "" });
    
                int readAllItens = itens.Count;
                int index = 0;
    
                while (index < readAllItens)
                {
                    //remover espacos vazios
                    foreach (var item in itens)
                    {
                        if (item[0] == string.Empty)
                        {
                            //remove
                            itens.Remove(item);
                            break;
                        }
    
                        index++;
                    }
                }
     Existe forma automatica de fazer isso ao invés dos laços, procure pelo metodo "RemoveAll" em Collections, não fiz exemplo baseado nele, mas seria outra forma de utilizar.

    segunda-feira, 11 de junho de 2018 14:23

Todas as Respostas

  • Bom dia,

      Veja esse exemplo:

     List<string[]> itens = new List<string[]>();
                itens.Add(new string[]{ "aaa"});
                itens.Add(new string[] { "aaa" });
                itens.Add(new string[] { "aaa" });
                itens.Add(new string[] { "" });
                itens.Add(new string[] { "" });
    
                int readAllItens = itens.Count;
                int index = 0;
    
                while (index < readAllItens)
                {
                    //remover espacos vazios
                    foreach (var item in itens)
                    {
                        if (item[0] == string.Empty)
                        {
                            //remove
                            itens.Remove(item);
                            break;
                        }
    
                        index++;
                    }
                }
     Existe forma automatica de fazer isso ao invés dos laços, procure pelo metodo "RemoveAll" em Collections, não fiz exemplo baseado nele, mas seria outra forma de utilizar.

    segunda-feira, 11 de junho de 2018 14:23
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 22 de junho de 2018 19:12
    Moderador