Uso de referencia/salida de C#

Tabla de contenido

1. Introducción

2. La palabra clave ref

el caso

Nota 1

Nota 2

Tres, palabra clave fuera

el caso

Nota 1

Nota 2

4. Similitudes entre las palabras clave ref y out

Cinco, la diferencia entre las palabras clave ref y out

Finalizar


1. Introducción

En C#, las palabras clave ref y out se usan para pasar parámetros. Permiten que los parámetros se modifiquen dentro de un método, y el valor modificado se transfiere al método de llamada. La palabra clave ref se utiliza para pasar parámetros de tipo de referencia. Al usar la palabra clave ref para pasar parámetros, cualquier modificación de los parámetros dentro del método afectará las variables originales en el método de llamada. La palabra clave out se utiliza principalmente para pasar parámetros de tipo valor y requiere la asignación de parámetros dentro del método. A diferencia de ref, cuando se usa la palabra clave out para pasar parámetros, no es necesario inicializar los parámetros antes de llamar al método.

2. La palabra clave ref

el caso

namespace RefAndOut
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int number = 5;
            UpdateValue(ref number);
            Console.WriteLine(number);

            Console.ReadKey();
        }

        static void UpdateValue(ref int value)
        {
            value = 10;
        }
    }
}

correr:

Nota 1

La variable pasada por ref debe inicializarse, de lo contrario se informará un error

 

 

Nota 2

Los parámetros de referencia no se asignan dentro del método y no tendrán ningún efecto.

namespace RefAndOut
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int number = 5;
            string name = "test";
            UpdateValue(ref number, ref name);
            Console.WriteLine(number);
            Console.WriteLine(name);

            Console.ReadKey();
        }

        static void UpdateValue(ref int value, ref string name)
        {
            //value = 10;
            //name = "tt";
        }
    }
}

correr:

 

Tres, palabra clave fuera

el caso

namespace RefAndOut
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int age;
            string name;
            Test(out age, out name);
            Console.WriteLine("age:{0}, name:{1}", age, name);

            Console.ReadKey();
        }

        static void Test(out int age, out string name)
        {
            age = 16;
            name = "张三";
        }
    }
}

correr:

 

Nota 1

La palabra clave out debe asignarse dentro del cuerpo del método; de lo contrario, se informará un error.

 

Nota 2

Usando el parámetro out, es posible que la variable ejecutada no se inicialice

 

 

4. Similitudes entre las palabras clave ref y out

1. Ambos se pasan a través de parámetros de función:

Tanto ref como out se usan para pasar parámetros por referencia, y el valor del parámetro pasado se puede modificar dentro del método.

2. Ambos se pueden inicializar antes de llamar al método

Tanto ref como out se pueden inicializar antes de llamar al método.Después de llamar al método, el valor real del parámetro está sujeto a la asignación dentro del método.

Cinco, la diferencia entre las palabras clave ref y out

1. Inicialización de parámetros:

Cuando se usa la palabra clave ref para pasar parámetros, los parámetros se deben inicializar (asignar) antes de llamar a la función, y cuando se usa la palabra clave out para pasar parámetros, los parámetros se pueden inicializar dentro de la función llamada.

2. Asignación dentro del método:

Cuando se usa la palabra clave ref para pasar parámetros, no se puede realizar ninguna asignación dentro de la función, y cuando se usa la palabra clave out para pasar parámetros, se debe asignar un valor a la función.

Finalizar

Si esta publicación es útil para usted, siga + me gusta + deje un mensaje, ¡gracias!

fin

Supongo que te gusta

Origin blog.csdn.net/qq_38693757/article/details/131439776
Recomendado
Clasificación