Diferencia entre las palabras clave Ref y Out en C#

La salida es una palabra clave en C# que se usa para pasar los argumentos a los métodos como un tipo de referencia. Generalmente se usa cuando un método devuelve múltiples valores. El parámetro out no pasa la propiedad.

Ejemplo :

// C# program to illustrate the
// concept of out parameter
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Declaring variable
        // without assigning value
        int G;
  
        // Pass variable G to the method
        // using out keyword
        Sum(out G);
  
        // Display the value G
        Console.WriteLine("The sum of" + 
                " the value is: {0}", G);
    }
  
    // Method in which out parameter is passed
    // and this method returns the value of
    // the passed parameter
    public static void Sum(out int G)
    {
        G = 80;
        G += G;
    }
}

Producción:

The sum of the value is: 160

La ref es una palabra clave en C# que se usa para pasar los argumentos por una referencia. O podemos decir que si cualquier cambio realizado en este argumento en el método se reflejará en esa variable cuando el control regrese al método de llamada. El parámetro ref no pasa la propiedad .

Ejemplo:

// C# program to illustrate the
// concept of ref parameter
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // Assign string value
        string str = "Geek";
  
        // Pass as a reference parameter
        SetValue(ref str);
  
        // Display the given string
        Console.WriteLine(str);
    }
  
    static void SetValue(ref string str1)
    {
  
        // Check parameter value
        if (str1 == "Geek") {
            Console.WriteLine("Hello!!Geek");
        }
  
        // Assign the new value
        // of the parameter
        str1 = "GeeksforGeeks";
    }
}

Producción:

Hello!!Geek
GeeksforGeeks
Diferencia entre las palabras clave Ref y Out
palabra clave referencia fuera palabra clave
Es necesario que los parámetros se inicialicen antes de pasar a la ref. No es necesario inicializar los parámetros antes de que pase a out.
No es necesario inicializar el valor de un parámetro antes de volver al método de llamada. Es necesario inicializar el valor de un parámetro antes de volver al método de llamada.
El paso de valor a través del parámetro ref es útil cuando el método llamado también necesita cambiar el valor del parámetro pasado. La declaración del parámetro a través del parámetro es útil cuando un método devuelve múltiples valores.
Cuando se usa la palabra clave ref, los datos pueden pasar en dos direcciones. Cuando se usa la palabra clave out, los datos solo pasan en unidireccional.

Nota: Tanto el parámetro ref como el out se tratan de la misma manera en tiempo de compilación pero de manera diferente en tiempo de ejecución.

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *