1
resposta

Confuso em relação a linha: array.clone

Boa noite, Professor.

Obrigado pelas aulas, estão show.

Eu entendi bem a estrutura e todo contexto da aula.

Porém não entendi como array.clone é passado para a variável númerosOrdenados.

Como?

Foi colocado somente no final da criação do Array double mas ficou implicito como é feito isso.

Poderia me auxiliar, por favor?

1 resposta

Olá, Bruno.

Tudo bem?

Ficamos felizes em saber que você está gostando das aulas. Vou te ajudar a entender como a linha array.Clone() é passada para a variável numerosOrdenados.

Na aula em questão, estamos trabalhando com a classe Array do C#. Essa classe possui um método chamado Clone(), que cria uma cópia do array original. No caso do exemplo dado, o array original é array, que é passado como parâmetro para o método TestaMediana().

Então, na linha em que temos double[] numerosOrdenados = (double [])array.Clone();, estamos criando uma cópia do array array e atribuindo essa cópia à variável numerosOrdenados. Essa cópia é feita através do método Clone().

Dessa forma, a variável numerosOrdenados passa a ter os mesmos elementos do array original, mas em uma instância separada. Isso é útil para que possamos ordenar o array sem modificar o array original.

Por exemplo, se tivéssemos apenas double[] numerosOrdenados = array;, estaríamos apenas atribuindo a referência do array original à variável numerosOrdenados. Isso significa que qualquer modificação feita em numerosOrdenados também afetaria o array original. Mas, com o uso do método Clone(), garantimos que numerosOrdenados seja uma cópia independente.

Espero que isso tenha esclarecido a sua dúvida. Se tiver mais alguma pergunta, é só me dizer. Espero ter ajudado e bons estudos!