Inverter Array manualmente em C#

Olá!

Aqui vai uma dica rápida para casos em que não desejamos usar o método Array.Reverse(seuArray)
Abaixo está todo o código que fiz, já comentado explicando o que foi feito em cada linha.

//Variáveis que receberão os valores (para testar se a inversão funcionou corretamente)
string strNormal = "", strInvertido = "";

//Declarando array
int[] arrayNumeros = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
//Guardando valores do arrayNumeros na string strNormal para comparar a saída depois
for (int i = 0; i < arrayNumeros.Length; i++)
{
    strNormal += arrayNumeros[i];
}

//Declarando o novo array que receberá os valores invertidos já com o tamanho do anterior
int[] arrayInvertido = new int[arrayNumeros.Length];
//Pegar a última posição do arrayNumeros e jogar na primeira do arrayInvertido
for (int i = 0; i < arrayNumeros.Length; i++)
{
    //Subtrair 1 pois os índices dos Arrays começam a partir do 0
    arrayInvertido[i] = arrayNumeros[arrayNumeros.Length - 1 - i];
}

//Guardando valores do arrayInvertido na string strInvertido para comparar a saída depois
for (int i = 0; i < arrayInvertido.Length; i++)
{
    strInvertido += arrayInvertido[i];
}

//Jogar as strings num label para ver se funcionou corretamente
label1.Text = "Normal: " + strNormal +
              "\n" +
              "Invertido: " + strInvertido;

Espero que o código ajude.

Fico por aqui.
Até a próxima!

4 comentários:

  1. E se eu quisesse inverter o valor do índice 0 com o último, o segundo com o penúltimo, e assim sucessivamente? Poderia me ajudar com isso?

    ResponderExcluir
    Respostas
    1. Oi Mateus, tudo bom? É exatamente isso que o artigo explica. Está com dificuldade em alguma parte específica? Abraço!

      Excluir
    2. Olá João. Obrigado por responder. Eu tentava usando temp = vetor[i]; vetor[i] = vetor[j -1]; vetor[j-1] = temp;.
      Não tinha a saída esperada..Ao adaptar seu código, percebi o vetor[j -1 -i], onde j=19. Aí funcionou, mas seu código é muito mais legivel. Parabéns e sucesso.

      Excluir
    3. Que bom que deu certo, Mateus. Bons estudos. Abs.

      Excluir

Não esqueça de enviar um comentário. Isto motiva o autor a continuar postando e também é uma forma de agradecimento