AJUDA NA EXIBICAO DE UMA ARRAY

INACIOJUNIOR 13/10/2010 15:50:00
#355012
Olá amigos, estou com um problema em um trabalho da faculdade que estou desenvolvendo, envolve comparações entre os algoritmos de ordenação, bom o trabalho já está 99% pronto, fazendo todas as analises de tempo do melhor caso, pior caso e caso médio para cada algoritmo.

O problema agora que enfrento para terminar o trabalho é o seguinte, por exemplo, eu mando gerar 2.000.000 de números aleatórios e faço a ordenação em meméria, quardo tudo em um array e ordeno este array, o problema é que tenho que mostrar os números a lista gerada e da lista ordenada, só que para isso eu tenho que fazer um FOR para percorrer todo o array e concatenar os valores em um TextBox, mas isso é muito lento....

Gostaria de saber se há possíbilidade de mostrar todo o array na tela de uma só vez, ou sem ter que fazer um FOR, talvez algum outro componente que não seja tão lento para este tipo de aplicação quanto o TextBox, ou alguma outra possibilidade.

Grato pela atenção.
INACIOJUNIOR 14/10/2010 11:19:17
#355050
Amigos, alguém sabe como por exemplo jogar todo o array no Clipboard e depois jogar o valor do Clipboard para o TextBox, acho que talvez isso seja mais rápido do que fazer um For e ir concatenando os valores no TextBox.
ASHKATCHUP 15/10/2010 16:40:02
#355183
Crie uma variável string.
Concatene os valores do array nela.
Depois jogue no textbox.

Vai ficar mais rápido, com certeza.
INACIOJUNIOR 15/10/2010 17:00:26
#355187
Prezado amigo ASHKATCHUP,

Isso eu já tentei, porém continua muito lento, pois a concatenação de Strings é lenta.... Eu pensei em algo como jogar todo o array no Clipboad e depois voltar do Clipboard para o txt, mas não sei se é possível passar todo o array para o Clipboard de uma vez só, como faço de uma função para outra...
ASHKATCHUP 15/10/2010 17:04:06
#355188
Em vez de usar o concatenamento de [Ô]+[Ô], use a função STRING.CONCAT

Ou crie um StringBuilder.

São mais rápidos.
ASHKATCHUP 15/10/2010 17:11:53
#355189
Resposta escolhida
Exemplo


private void button1_Click(object sender, EventArgs e)
{
string[] x = new string[3000];

for (int i = 0; i < 3000; i++)
{
x[i] = [Ô]texto[Ô] + i;
}

StringBuilder t = new StringBuilder();

for (int i = 0; i < 3000; i++)
{
t.Append(x[i]);

t.Append([ô]/[ô]);
}

textBox1.Text = t.ToString();

}
Tópico encerrado , respostas não são mais permitidas