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 refConforme 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âmetroNo 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.