Diferencia entre Out y Ref en C#

Diferencia entre Out y Ref en C#

Diferencia clave: fuera Vs Ref en C#
 

C# es un lenguaje de programación moderno desarrollado por Microsoft. Se utiliza para desarrollar varias aplicaciones para escritorio, web y móvil. Funciones o métodos es un concepto en programación. Ese grupo de declaraciones que se utilizan para realizar una tarea específica se conoce como función o un método.  En los programas C#, la ejecución comienza desde main (). Es un ejemplo de un método. Al llamar a un método, los datos se pasan al método o se reciben del método. El método que llama al nuevo método se conoce como Llamar al método. El nuevo método se conoce como el Método llamado. Para administrar los valores de aprobación y recuperar el resultado, C# usa parámetros. Son parámetros valorados, parámetros de salida y parámetros de referencia. Los parámetros de valor se utilizan para pasar parámetros al método por valor. Los parámetros de referencia se utilizan para pasar los parámetros al método por referencia. Los parámetros de salida se utilizan para devolver el resultado del método. En C#, la palabra clave OUT se usa para los parámetros de salida y la palabra clave REF se usa para referencia a los parámetros. El diferencia clave entre afuera y ref en c# es que, Out es una palabra clave utilizada para remitir un parámetro de salida que se utiliza para pasar los resultados del método llamado al método de llamada, mientras que REF es una palabra clave para referir un parámetro de referencia que se utiliza para pasar datos del método llamado al método llamado y para recibir los datos Desde el método llamado al método de llamadas.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué hay en C#?
3. ¿Qué es la referencia en c#?
4. Similitudes entre Out y Ref en C#
5. Comparación de lado a lado - Out vs Ref en C# en forma tabular
6. Resumen

¿Qué hay en C#??

La sintaxis para la función o un método es el siguiente. Un método tiene una serie de elementos, como el nombre del método, la lista de parámetros, el tipo de retorno y el especificador de acceso.

(Lista de parámetros)

// declaraciones para ejecutar

Cada método tiene un método único para hacer la llamada de función. Las declaraciones ejecutables están dentro de los aparatos ortopédicos rizados. El tipo de retorno explica si la función devuelve un valor o no. Cuando no hay tipo de retorno, se llama vacío. El especificador de acceso se utiliza para especificar la accesibilidad del método en la aplicación. Los parámetros se utilizan para recibir o pasar datos al método. También puede haber métodos sin parámetros. Los parámetros pueden ser valorados de parámetros, parámetros de salida o parámetros de referencia.

Los parámetros de salida se utilizan para devolver los resultados al método de llamadas. Para eso, el parámetro debe declararse con la palabra clave fuera. El parámetro de salida no crea una nueva ubicación de almacenamiento. En general, un método devuelve un valor. Pero en C#, es posible devolver dos valores de una función utilizando parámetros de salida. Consulte el siguiente programa.

Aplicación de espacio de nombres1

            Cálculo de clase pública

Public void Display (out int a, out int b)

valor int = 5;

a = valor;

b = valor;

a = a* a;

b = b*b;

public static void main (string [] args)

int value1 = 10, valor2 = 20;

Cálculo cal = nuevo cálculo ();

California.visualizar (out value1, out value2);

Consola.Readline ();

La función de visualización se llama desde el método principal. El valor1 y el valor dos tienen 10 y 20, pero no se toman en el método. El valor de A es 25 y el valor de B también es 25 en la función. Por lo tanto, esos valores se devuelven. Al imprimir value1 y value2, no dará 10 y 20. En cambio, imprimirá 25 y 25. Uso de la palabra clave OUT Los valores múltiples se pueden devolver desde el método.

¿Qué es la referencia en c#??

Al pasar los parámetros por valor, se crea una nueva ubicación de almacenamiento para cada parámetro. Los parámetros reales que se enviaron desde el programa principal no cambian. En cambio, esos valores se copian en una ubicación separada. Esas nuevas copias variables se denominan parámetros formales. Consulte el siguiente código.

Aplicación de espacio de nombres1

Cálculo de clase pública

public void swap (int x, int y)

int temp;

temp = x;

x = y;

y = temp;

public static void main (string [] args)

Cálculo cal = nuevo cálculo ();

int p = 2;

int q = 3;

California.intercambio (p, q);

Consola.Escritura (p);

Consola.Escritura (q);

Consola.Readline ();

Según el programa anterior, la clase de cálculo tiene un swap de método (). En el programa principal, se crea un objeto de cálculo de tipo. Hay dos valores como P y Q. La variable p tiene valor 2 y Q variable tiene valor 3.  Esos dos valores se pasan al método de intercambio. En el método de intercambio, el valor 2 se copia en la variable x y el valor 3 se copia a la variable y. Usando la variable TEMP, los valores se intercambian. De vuelta en el programa principal, al imprimir P y Q, los valores no se intercambian. El valor P sigue siendo 2 y el valor Q es 3. Incluso en el método de intercambio, los valores se intercambian pero no se refleja en el programa principal.

A diferencia de los valores de aprobación como se indicó anteriormente, es posible pasar parámetros por referencia. Una variable de referencia es una referencia a la ubicación de la memoria. No se crea una nueva ubicación de memoria. Los cambios en el método reflejado en el programa en el programa principal.  En C#, los parámetros de referencia se remiten utilizando la palabra clave REF. Consulte el siguiente programa.

Aplicación de espacio de nombres1

Cálculo de clase pública

public void swap (ref Int X, ref Int y)

int temp;

temp = x;

x = y;

y = temp;

public static void main (string [] args)

Cálculo cal = nuevo cálculo ();

int p = 2;

int q = 3;

California.intercambio (ref P, ref Q);

Consola.Escritura (p);

Consola.Escritura (q);

Consola.Readline ();

Según el programa anterior, el cálculo de la clase tiene el método de intercambio. En el programa principal, se crea un objeto de cálculo de tipo. Son dos variables como P y Q. La variable p tiene el valor 2 y la variable Q tiene el valor 3. En lugar de pasar valores, la referencia a las ubicaciones de memoria de P y Q se pasan al método. Esas variables de referencia se remiten utilizando REF. En el método de intercambio, en lugar de hacer frente a los valores a una nueva ubicación, los cambios se realizan a los parámetros reales. Al imprimir los valores P y Q del programa principal, dará los valores intercambiados. Ahora el valor p es 3 y el valor Q es 2.

¿Cuál es la similitud entre Out y Ref en C#??

  • Ambas son palabras clave utilizadas para referir los parámetros de un método.

¿Cuál es la diferencia entre Out y Ref en C#??

Fuera vs Ref en C#

La salida es una palabra clave en C# que se utiliza para referir un parámetro de salida. Se utiliza para pasar los resultados de un método llamado para llamar al método. El REF es una palabra clave en C# que se utiliza para referir un parámetro de referencia. Se utiliza para pasar datos del método llamado al método llamado y para devolver los datos del método llamado al método de llamada.
Funcionalidad
Al usar la palabra clave, los datos se pueden pasar del método de llamada al método llamado. Pero esos datos se descartan. Se utiliza para pasar el resultado al método llamado desde el método llamado. Al usar la Refación de palabras clave, los datos se pasan del método de llamada al método llamado y los datos manipulados se vuelven al método de llamada.
Paso de datos
Al usar la palabra clave, los datos se pasan de una manera que es un método llamado al método de llamadas. Al usar la Refación de palabras clave, los datos se pasan de dos maneras, desde el método de llamada hasta el método llamado y desde el método llamado hasta el método de llamadas.

Resumen -fuera Vs Ref en C# 

Al invocar un método, podría ser necesario pasar los valores al método y recuperar los resultados del método.  C# tiene diferentes parámetros para lograr eso. Los parámetros de valor se utilizan para pasar parámetros al método por valor. Los parámetros de referencia se utilizan para pasar los parámetros al método por referencia. Los parámetros de salida se utilizan para devolver el resultado del método. En C#, la palabra clave OUT se usa para los parámetros de salida y la palabra clave REF se usa para referencia a los parámetros. La diferencia entre Out y Ref en C# es que, fuera una palabra clave utilizada para remitir un parámetro de salida que se utiliza para pasar los resultados del método llamado al método de llamada, mientras que REF es una palabra clave para referir un parámetro de referencia que se usa para pasar datos de Método llamado al método llamado y para recibir los datos del método llamado al método de llamada.

Descargue el PDF de Out vs Ref en C#

Puede descargar la versión PDF de este artículo y usarla para fines fuera de línea según la nota de cita. Descargue la versión PDF aquí: Diferencia entre Out y Ref en C#

Referencia:

1.punto de tutorial.comunicarse. "Métodos C#." El punto. Disponible aquí 
2.dnfvideo. Parámetros C# Out vs REF Parámetros, .Videos netos de preparación de la entrevista, 28 de septiembre. 2015. Disponible aquí  

Imagen de cortesía:

1.'C Sharp'by Mothmolevna - Trabajo propio, (dominio público) a través de Commons Wikimedia