10.5.1.3 Parámetros de salida

Visual Studio .NET 2003

Un parámetro de salida es un parámetro que se declara con un modificador out. Al igual que un parámetro de referencia, un parámetro de salida no crea una nueva ubicación de almacenamiento. En lugar de ello, un parámetro de salida representa la misma ubicación de almacenamiento que la variable especificada como argumento en la invocación del método.

Cuando un parámetro formal es un parámetro de salida, el argumento correspondiente de la invocación del método se debe componer de la palabra clave out seguida de una referencia-de-variable (Sección 5.4) del mismo tipo del parámetro formal. Una variable no necesita estar asignada de manera definitiva antes de ser pasada como parámetro de salida, pero si se hace un seguimiento de una invocación donde se pasó una variable como parámetro de salida, la variable se considera asignada de manera definitiva.

Dentro de un método, de manera similar a una variable local, un parámetro de salida se considera inicialmente no asignado y debe ser asignado de manera definitiva antes de utilizar su valor.

Cada parámetro de salida de un método debe estar asignado de manera definitiva antes de que el método devuelva la llamada.

Los parámetros de salida se utilizan normalmente en métodos que devuelven varios valores. Por ejemplo:

using System;
class Test
{
   static void SplitPath(string path, out string dir, out string name) {
      int i = path.Length;
      while (i > 0) {
         char ch = path[i – 1];
         if (ch == '\\' || ch == '/' || ch == ':') break;
         i--;
      }
      dir = path.Substring(0, i);
      name = path.Substring(i);
   }
   static void Main() {
      string dir, name;
      SplitPath("c:\\Windows\\System\\hello.txt", out dir, out name);
      Console.WriteLine(dir);
      Console.WriteLine(name);
   }
}

El ejemplo produce el resultado:

c:\Windows\System\
hello.txt

Observe que las variables dir y name pueden estar sin asignar antes de que sean pasadas a SplitPath, y que se las considera asignadas de manera definitiva siguiendo la llamada.

Mostrar: