Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Danilo Pessoa

Transformar variável em array C#

Recommended Posts

Boa noite pessoal!

 

Preciso de mais um help de vocês!

Tenho o método abaixo que retorna do Banco de Dados 8 linhas contendo em cada linha um valor inteiro e uma string de texto nas 2 colunas.


void CarregarConteudo()
       {
           JUnidadeContext ctx = new JUnidadeContext();
           arquivos = ctx.jos_uc_arquivos;
           ctx.Load(ctx.GetFilesQuery(unidadeConhecimentoID)).Completed += (s, e) =>
           {
               if (arquivos.Count() > 0 )
               {
                   lstArquivos.ItemsSource = arquivos;// Essa variável tem as 8 linhas de dados que vem do Banco
                   //btnProximo.Visibility = Visibility.Visible;
               }
           };
       }

 

 

Agora eu preciso que essa variável "arquivos" contendo as linhas de dados do banco seja divida em 2 arrays, sendo que "arquivos1" seja as linhas impares e "arquivos2" seja as linhas pares, tem como? Como ficaria o código?

 

Obrigado a todos que puderem ajudar.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use um for.

 

Passe o for por todas as linhas do arquivo e jogue o valor para um Array pré definido em alguma classe ou até mesmo uma variável global.

 

for (int i=0;i<=arquivos.count();i++){

array[i] = Arquivos.<primeiro valor>.ToString();

}

 

 

Você pode usar "arquivos=8" se já souber o numero exato de linhas, mas não se esquece que o "i" está começando do 0 e não do 1.

 

Depois faça outro for, substitua o <primeiro valor> pelo segundo valor colocado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

 

Obrigado por responder KhaosDoctor, mas eu ainda sou novato em C# e não manjo como estruturar os metodos ainda. Eu fiz essa mesma tarefa no PHP facil, pq lá eu já domino a linguagem, mas no C# eu ainda estou perdido em como trabalhar com ele.

 

Se puder, monte com base no meu metodo atual que tirei da app que estou dando manutenção enquanto a estudo um exemplo de como ficaria o código para eu estudar e ter base. Pq faz tempo que pesquiso, leio e estudo sobre como fazer isso no C# e não consigo fazer funcionar.

 

Ah outra coisa, eu não sei ao certo qual a quantidade de dados que vira do BD.

 

Agradeço pela ajuda. Forte abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas você não disse que essa variável tem 8 linhas em duas colunas?

 

De que tipo é a variável arquivos e para qual fim ela serve?

 

Eu posso tentar estruturar um código aqui, mas eu não sei nada sobre esse projeto e nem sobre a variável, se você me falar um pouco sobre ela eu talvez consiga montar alguma coisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia KhaosDoctor!

Então, a variável arquivo recebe uma coleção de dados que vem do MySql, mas a quantidade

de dados que ela armazena não é um numero fixo, ela pode ter 8 linhas como pode ter apenas 2,

vai depender do que tiver no Banco na hora da consulta para o usuário logado no sistema,

eu disse que ela tinha 8 linhas apenas para exemplificar.

 

As informações contidas nela são 1 coluna com descrição (string) e a outra com um ID (int) de um arquivo armazenado no Banco para Download.

Existe um join de tabelas para gerar essa tabela de downloads de arquivos.

 

Como você pode ver no código acima eu pego o 'lstarquivos' e depois listo ele em outra tela em apenas uma coluna,

mas agora surgiu a necessidade de que fosse feito a lista em duas colunas para diminuir a rolagem na página, então

agora eu preciso ter 2 arrays para imprimir cada uma em uma coluna.

 

Entendeu?

 

Obrigado pelo help.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim.

 

Bom, qual é o tipo da variável arquivos? Ele é um Arraylist?

 

Porque ai você pode usar o for da seguinte maneira:

 

for (int i=0; i<Arquivos.Items.Count;i++){

//Código

}

 

 

Ai não importa o tamanho, ele sempre terá o for feito.

 

Se você está importando direto do mysql, não é melhor você preencher uma DataTable com um MySqlDataAdapter? Fica mais fácil na hora de tratar e exibir os dados, não precisa fazer toda essa programação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.