logo

Out parametr z przykładami w języku C#

The na zewnątrz to słowo kluczowe w języku C# używane do przekazywania argumentów do metod jako typ referencyjny. Jest powszechnie używany, gdy metoda zwraca wiele wartości.

Ważne punkty:



  • Działa podobnie do słowa kluczowego ref. Ale główny różnica między ref a out Słowo kluczowe polega na tym, że ref wymaga zainicjowania zmiennej przed jej przekazaniem do metody. Jednak parametr out nie wymaga inicjalizacji zmiennych przed przekazaniem ich do metody. Zanim jednak zwróci wartość do metody wywołującej, zmienna musi zostać zainicjowana w wywoływanej metodzie.
  • Jest również podobne do słowa kluczowego in, ale W słowo kluczowe nie pozwala metodzie, która wywołała, na zmianę wartości argumentu, ale ref pozwala.
  • Za korzystanie na zewnątrz słowo kluczowe jako parametr, zarówno definicja metody, jak i metoda wywołująca muszą używać na zewnątrz słowo kluczowe wyraźnie.
  • Parametry out nie mogą być używane w metodach asynchronicznych.
  • Parametry out nie mogą być używane w metodach iteratora.
  • Metoda może zawierać więcej niż jeden parametr out.
  • W momencie wywołania metody parametr out można zadeklarować inline. Dostęp do parametrów inline out można jednak uzyskać w tym samym bloku kodu, w którym wywołuje.
  • Przeciążanie metod można również wykonać przy użyciu parametrów out.
  • Właściwości nie można przekazywać jako parametrów wyjściowych, ponieważ nie są one zmiennymi.
  • Aż do wersji C# 6.0 użytkownik najpierw deklaruje zmienną, a następnie może ją przekazać jedynie jako argument wyjściowy. Ale od C# 7.0, z wyjątkiem osobnej deklaracji zmiennej, użytkownik może również zadeklarować zmienną out na liście argumentów wywołania metody.

Deklaracja out Parametru:

// No need to initialize // the variable here data_type variable_name; Method_Name(out variable_name); // you can also convert both above two // lines of codes as follows from // C# 7.0 onwards Method_Name(out data_type variable_name);>

Tutaj wartość nazwa_zmiennej musi zostać zainicjowany w wywoływanej metodzie, zanim zwróci wartość.

Przykład:



C#






// 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> i;> >// Pass variable i to the method> >// using out keyword> >Addition(>out> i);> >// Display the value i> >Console.WriteLine(>'The addition of the value is: {0}'>, i);> >}> >// Method in which out parameter is passed> >// and this method returns the value of> >// the passed parameter> >public> static> void> Addition(>out> int> i)> >{> >i = 30;> >i += i;> >}> }>

>

>

Wyjście:

The addition of the value is: 60>

Wiele parametrów wyjściowych: W języku C# użytkownik może przekazać do metody wiele parametrów wyjściowych, a metoda zwraca wiele wartości.

Przykład: W poniższym kodzie zadeklarowaliśmy dwie zmienne wartości bez inicjalizacji, tj. int i, j;. Teraz przekazujemy te parametry do metody Addition za pomocą słowa kluczowego out, takiego jak Addition(out i, out j);. Wartość tych zmiennych jest przypisana w metodzie, w której zostały przekazane.

C#


ciąg Java do jsona



// C# program to illustrate the> // concept of multiple out parameter> using> System;> class> GFG {> >// Main method> >static> public> void> Main()> >{> >// Declaring variables> >// without assigning values> >int> i, j;> >// Pass multiple variable to> >// the method using out keyword> >Addition(>out> i,>out> j);> >// Display the value i and j> >Console.WriteLine(>'The addition of the value is: {0}'>, i);> >Console.WriteLine(>'The addition of the value is: {0}'>, j);> >}> >// Method in which out parameters> >// are passed and this method returns> >// the values of the passed parameters> >public> static> void> Addition(>out> int> p,>out> int> q)> >{> >p = 30;> >q = 40;> >p += p;> >q += q;> >}> }>

>

>

Wyjście:

The addition of the value is: 60 The addition of the value is: 80>

Ulepszenie parametru Out w C# 7.0: W języku C# 7.0 do parametru out dodano kilka nowych funkcji, a są to następujące funkcje:

  • W języku C# 7.0 parametr out może zostać przekazany bez deklaracji i inicjalizacji, co jest określane jako Wbudowana deklaracja parametru Out lub ukryte Wpisz parametr . Jego zakres jest ograniczony do treści metody, tj. zasięgu lokalnego.
  • Można używać parametru out był wpisz listę parametrów metody.
  • Parametr In out nie jest obowiązkowy, aby nazwa parametru out była taka sama zarówno w definicji, jak i wywołaniu.
  • Można go również użyć we wzorcu Try.

Przykład: Poniższe programy demonstrują wbudowaną deklarację parametru Out. Tutaj linia kodu, tj. Area(out int długość, out int szerokość, out int Rarea); zawiera wbudowaną deklarację parametru Out, ponieważ zmienne te są bezpośrednio deklarowane w wywołaniu metody. Wartość zmiennych jest inicjowana w metodzie, w której zostały przekazane.

co to jest wyrocznia

Notatka: Do uruchomienia tego przykładu wymagana jest wersja C# 7.0.

Przykład:

C#




// C# program to illustrate the> // concept of out parameter> using> System;> class> GFG> {> >// Main method> >static> public> void> Main()> >{> >// In-line declaring variables> >// without assigning values> >// Passing multiple variable to> >// the method using out keyword> >Area(>out> int> length,>out> int> width,>out> int> Rarea);> >// Display the value length, width, and Rarea> >System.Console.WriteLine(>'Length of the rectangle is: '>+ length);> >System.Console.WriteLine(>'Width of the rectangle is: '>+ width);> >System.Console.WriteLine(>'Area of the rectangle is: '>+ Rarea);> >Console.ReadLine();> >}> >// Method in which out parameters are passed> >// and this method returns the values of> >// the passed parameters> >public> static> void> Area(>out> int> p,>out> int> q,>out> int> Rarea)> >{> >p = 30;> >q = 40;> >Rarea = p * q;> >}> }>

>

>

Wyjście:

Length of the rectangle is : 30 Width of the rectangle is : 40 Area of the rectangle is : 1200>