Diferencia entre la referencia y el parámetro de salida en C#

Diferencia entre la referencia y el parámetro de salida en C#

parámetro Ref (Referencia)

El parámetro "Ref" se utiliza para pasar el valor por referencia del parámetro real al parámetro formal I.E desde el método Callee hasta el método llamado. En C#, un parámetro declarado con un modificador "Ref" es un parámetro de referencia. Cuando pasa parámetros por referencia, a diferencia de los parámetros de valor, no se crea una nueva ubicación para este parámetro. Cualquier cambio realizado en el parámetro formal se reflejará en el parámetro real.

Ejemplo del parámetro REF
Como se muestra en el fragmento del programa anterior, cualquier cambio realizado a M se reflejará en n, ya que el parámetro se pasa por referencia.

parámetro de salida (salida)

El parámetro de salida se usa para volver a pasar el resultado a la función de llamada. La palabra clave 'out' se utiliza para declarar el parámetro como un parámetro de salida. Similar a un parámetro de referencia, un parámetro de salida no crea una nueva ubicación de almacenamiento. En cambio, se convierte en un alias para el parámetro en el método de llamadas.

Ejemplo de parámetro OUT
En el programa anterior, X se declara como un parámetro de salida en la función de llamadas y, como puede ver, X no se ha inicializado. Cuando la función cuadrada termina, el valor de Q se copiará al parámetro de salida x.

Diferencia entre la referencia y el parámetro de salida en C#

  1. En el parámetro de referencia, los cambios realizados en el parámetro formal reflejan el parámetro real, mientras que en el parámetro por fuera, el valor se refleja en el parámetro de salida de la función de llamada.
  2. El parámetro real de 'salida' generalmente no se le asigna un valor, mientras que un parámetro real declarado como referencia siempre se le debe asignar un valor antes de llamar.
    Nota: Debe asignar valor al parámetro de salida en el cuerpo del método; de lo contrario, el método no se compilará.
  3. Los parámetros de salida y referencia no crean una nueva ubicación de memoria.
  4. Los parámetros de referencia y salida se tratan de manera diferente en el tiempo de ejecución, pero se tratan igual en el momento de la compilación.