O parâmetro "ref" é usado para passar o valor por referência do parâmetro real para o parâmetro formal, isto é, do método chamado para o método chamado. Em C #, um parâmetro declarado com um modificador "ref" é um parâmetro de referência. Quando você passa parâmetros por referência, diferentemente dos parâmetros de valor, um novo local não é criado para esse parâmetro. Quaisquer alterações feitas no parâmetro formal serão refletidas no parâmetro real.
Exemplo de parâmetro ref
Conforme mostrado no trecho de programa acima, todas as alterações feitas em m serão refletidas em n, pois o parâmetro é passado por referência.
O parâmetro de saída é usado para passar o resultado de volta à função de chamada. A palavra-chave 'out' é usada para declarar o parâmetro como um parâmetro de saída. Semelhante a um parâmetro de referência, um parâmetro de saída não cria um novo local de armazenamento. Em vez disso, ele se torna um alias para o parâmetro no método de chamada.
Exemplo de fora do parâmetro
No programa acima, x é declarado como um parâmetro out na função de chamada e, como você pode ver, x não foi inicializado. Quando a função Square termina, o valor de q será copiado para o parâmetro de saída x.