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!