El fora és una paraula clau en C# que s'utilitza per passar els arguments als mètodes com a tipus de referència. S'utilitza generalment quan un mètode retorna diversos valors.
Punts importants:
- És similar a la paraula clau ref. Però el principal diferència entre ref i fora La paraula clau és que ref necessita que la variable s'ha d'inicialitzar abans de passar al mètode. Però el paràmetre out no requereix que les variables s'inicialitzin abans de passar al mètode. Però abans de retornar un valor al mètode cridant, la variable s'ha d'inicialitzar al mètode cridat.
- També és similar a la paraula clau in però el en La paraula clau no permet que el mètode que va cridar canviï el valor de l'argument però ref permet.
- Per utilitzar fora paraula clau com a paràmetre, tant la definició del mètode com el mètode de crida han d'utilitzar fora paraula clau explícitament.
- Els paràmetres de sortida no es poden utilitzar en mètodes asíncrons.
- Els paràmetres de sortida no es poden utilitzar en mètodes iteradors.
- Hi pot haver més d'un paràmetre de sortida en un mètode.
- En el moment de la trucada del mètode, el paràmetre out es pot declarar en línia. Però es pot accedir als paràmetres de sortida en línia al mateix bloc de codi on crida.
- La sobrecàrrega del mètode també es pot fer utilitzant els paràmetres.
- Les propietats no es poden passar com a paràmetres ja que no són variables.
- Fins a C# 6.0, un usuari declara primer la variable i després només pot passar com a argument de sortida. Però a partir de C# 7.0, excepte una declaració de variable separada, l'usuari també pot declarar la variable out a la llista d'arguments de la trucada de mètode.
Declaració de fora del paràmetre:
// 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);>
Aquí el valor de nom_variable s'ha d'inicialitzar al mètode cridat abans que torni un valor.
Exemple:
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;> >}> }> |
>
>Sortida:
The addition of the value is: 60>
Múltiples paràmetres de sortida: En C#, un usuari pot passar diversos paràmetres al mètode i el mètode retorna diversos valors.
Exemple: Al codi següent, vam declarar dues variables de valor sense inicialitzar, és a dir, int i, j;. Ara passem aquests paràmetres al mètode Addition mitjançant la paraula clau out com Addition(out i, out j);. El valor d'aquestes variables s'assigna en el mètode en què van passar.
C#
desavantatges de la banca en línia
// 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;> >}> }> |
>
>Sortida:
The addition of the value is: 60 The addition of the value is: 80>
Millora del paràmetre Out a C# 7.0: A C# 7.0, hi ha algunes funcions noves afegides al paràmetre out i les funcions són:
- A C# 7.0, el paràmetre out pot passar sense la seva declaració i inicialització, que s'anomena el Declaració en línia del paràmetre Out o implícita Escriviu el paràmetre de sortida . El seu abast es limita al cos del mètode, és a dir, l'àmbit local.
- Es pot utilitzar el paràmetre out era escriviu a la llista de paràmetres del mètode.
- Paràmetre in out, no és obligatori que el nom del paràmetre out sigui el mateix tant a la definició com a la trucada.
- També es pot utilitzar a Try Pattern.
Exemple: Els programes següents mostren la declaració en línia del paràmetre Out. Aquí la línia de codi, és a dir, Area (out int longitud, fora int amplada, fora int Rarea); conté la declaració en línia del paràmetre Out, ja que aquestes variables es declaren directament dins de la trucada del mètode. El valor de les variables s'inicialitza en el mètode en què van passar.
Nota: Heu de requerir la versió C# 7.0 per executar aquest exemple.
Exemple:
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;> >}> }> |
>
rebaix ratllat
>
Sortida:
Length of the rectangle is : 30 Width of the rectangle is : 40 Area of the rectangle is : 1200>