Ir ao conteúdo
  • Cadastre-se

Ajuda com ArrayList


LegolasDBA
Ir à solução Resolvido por LegolasDBA,

Posts recomendados

Olá,

 

Estou com um problema que não consigo achar uma solução.

 

Tenho um método que recebe como parâmetro um ArrayList com N itens e que tem que me retornar um Array de Strings com no máximo X itens concatenados com vírgula.

 

Por exemplo:

 

Recebo um ArrayList com 5 itens, porém, meu limite(CONSTANTE) para cada Array de string é 2, e nesse caso queria que ficasse desta forma:

 

ENTRADA

arrayList{"1234","2234","1334","1244","4321"};

 

SAÍDA

ret[0]={",1234,2234,"};

ret[1]={",1334,1244,"};

ret[2]={",4321,"};

 

Meu método está da seguinte forma atualmente :

 int constante = 2; int n = Convert.ToInt32(decimal.Truncate(al.Count/constante)); if((al.Count % constante) != 0)   n = n+1; int j = 0; string[] ret = new string[]{}; for (int i = 0; i < al.Count; i++) {  if (i == n)   {    ret[j] += ",";    j++;   }   ret[j] += "," + al[i].ToString(); }return ret;

Eu verifico a quantidade de itens dividido pelo número máximo de itens para definir quantos arrays de string eu terei, ou seja, tem que ser feito dinamicamente.

 

O problema é que o Array de strings me obriga a definir um tamanho. 

 

Eu poderia fazer utilizando LINQ? de que forma? 

Se existe outra forma, como seria?

 

Estou necessitado de uma solução, pois, já procurei MUITO no google mas não acho nada que atenda ao que preciso.

Link para o comentário
Compartilhar em outros sites

  • Solução

Consegui resolver !

 

Adicionei numa string mesmo e quando chega no limite(count == constante) que eu defino, ele chama meu método da BLL passando essa string como parâmetro, tudo dentro do FOR. Quando o valor é abaixo do limite eu tenho um ELSE que deixa ele adicionando até ser o último registro do FOR e chama também o meu método da BLL passando esses valores restantes.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!