Maison  >  Article  >  développement back-end  >  Paramètre de sortie C#

Paramètre de sortie C#

WBOY
WBOYoriginal
2024-09-03 15:29:34786parcourir

'out' est un mot-clé en C#, utilisé pour transmettre des arguments à une méthode en tant que type référence. Les variables transmises à une méthode en tant que paramètres out n'ont pas besoin d'être déclarées ou initialisées avant d'être transmises à l'appel de méthode. La méthode appelée doit attribuer des valeurs aux variables des paramètres out avant que le contrôle ne quitte la méthode appelée et avant que la méthode appelée ne renvoie une valeur à la méthode appelante. Il est possible de transmettre plusieurs paramètres de sortie à une méthode et la méthode renvoie plusieurs valeurs.

Syntaxe avec explication :

Lors de l'appel de la méthode en utilisant le paramètre out, la syntaxe sera la suivante :

Method_name(out data_type variable_name);

Ici, Method_name est n'importe quel nom défini par l'utilisateur donné à la méthode, 'out' est le mot-clé utilisé pour exprimer que la variable transmise à la méthode est un paramètre out, data_type peut être n'importe quel type de données de la variable et variable_name est le nom défini par l'utilisateur de la variable.

La syntaxe de la méthode à appeler est la suivante :

access_specifier return_type Method_name(out data_type variable_name);

Ici, access_specifier peut être n'importe quel spécificateur d'accès parmi les cinq spécificateurs d'accès pris en charge par C#, comme public ou privé. Ensuite, return_type est le type de données renvoyées par cette méthode, suivi du nom de la méthode et de la liste des paramètres « out ».

Comment fonctionne le paramètre « out » en C# ?

En C#, le mot-clé « out » fonctionne de la même manière que les mots-clés « ref » et « in ». La différence entre les paramètres 'out' et 'ref' est que les variables de paramètre 'out' n'ont pas besoin d'être initialisées avant d'être transmises à une méthode, l'utilisateur peut déclarer la variable de paramètre 'out' dans la liste d'arguments de la méthode. au lieu de le déclarer séparément, ce qui est appelé déclaration en ligne du paramètre 'out' alors que les variables du paramètre 'ref' doivent être initialisées avant d'être transmises à une méthode. Les paramètres « out » déclarés en ligne sont accessibles dans le même bloc de code.

Exemple n°1

Code :

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main(string[] args)
{
//inline declaration of 'out' parameter
Display(out int num);
Console.WriteLine("Value of variable 'num': {0}", num);
Console.ReadLine();
}
public static void Display(out int a)
{
//need to assign value
a = 10;
a += a;
}
}
}

Sortie :

Paramètre de sortie C#

  • Maintenant, la différence entre les mots-clés 'out' et 'in' est que les valeurs des paramètres 'out' peuvent être modifiées à l'intérieur de la méthode appelée alors que les valeurs des paramètres 'in' ne peuvent pas être modifiées à l'intérieur de la méthode appelée.
  • Une méthode peut avoir plusieurs paramètres « out » tels que : Display(out x, out y);
  • Pour travailler avec les paramètres « out », l'utilisateur doit utiliser explicitement le mot-clé « out » dans la définition de la méthode ainsi que dans la méthode appelante. Dans le même temps, il n'est pas nécessaire que les noms donnés aux paramètres « out » dans la définition et l'appel de la méthode soient les mêmes.
  • Les paramètres 'out' sont passés par référence à une méthode, ils ne créent donc pas de nouvel emplacement de stockage dans la mémoire et utilisent le même emplacement de stockage occupé par les arguments variables dans l'invocation de la méthode. Comme la méthode utilisant les paramètres « out », peut renvoyer plusieurs valeurs, cela aide l'utilisateur à obtenir plusieurs valeurs traitées à partir de la méthode appelée. Mais avant que la méthode ne renvoie une valeur à la méthode appelante, les paramètres « out » doivent être affectés à certaines valeurs dans la méthode.
  • Nous ne pouvons pas travailler avec les paramètres 'out' dans tous les types de méthodes, tout comme nous ne pouvons pas utiliser les paramètres 'out' dans les méthodes asynchrones que nous définissons à l'aide du modificateur 'async' et nous ne pouvons pas non plus utiliser les paramètres 'out' dans les méthodes 'iterator' qui consiste en une déclaration de « rendement du rendement » ou de « rupture de rendement ». Comme les propriétés ne sont pas des variables, nous ne pouvons donc pas les transmettre en tant que paramètres « out » à une méthode.
  • Le paramètre 'out' peut être défini en utilisant un type générique pour indiquer que le paramètre de type est covariant. Parallèlement à cela, le paramètre « out » est utilisé dans les méthodes TryParse() pour différents types de données en C#. La méthode TryParse() renvoie une valeur booléenne qui spécifie le succès ou l'échec et en cas de succès, le résultat est donné par le paramètre 'out'.

Exemple n°2

Code :

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main(string[] args)
{
string str = "123456";
int num;
//if ‘canParse’ is true; the result of conversion will be stored in ‘num’
bool canParse = Int32.TryParse(str, out num);
if (canParse)
Console.WriteLine(num);
else
Console.WriteLine("Could not be parsed.");
Console.ReadLine();
}
}
}

Sortie :

Paramètre de sortie C#

Exemples de paramètre de sortie C#

Vous trouverez ci-dessous les exemples du paramètre C# Out :

Exemple n°1

Exemple montrant plusieurs paramètres « out » transmis à une méthode, puis la méthode renvoie plusieurs valeurs.

Code :

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
//declaring variables without assigning values
float area, perimeter;
//passing multiple variables to a method using 'out' keyword
Calculate(5, 10, out area, out perimeter);
//displaying the result
Console.WriteLine("The area of rectangle is: {0}", area);
Console.WriteLine("The perimeter of rectangle is: {0}", perimeter);
Console.ReadLine();
}
//method taking length & breadth & it will return area and perimeter of rectangle
public static void Calculate(int length, int breadth, out float area, out float
perimeter)
{
area = length * breadth;
perimeter = 2 * (length + breadth);
}
}
}

Sortie :

Paramètre de sortie C#

Exemple n°2

Exemple montrant la déclaration en ligne du paramètre « out ».

Code :

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
//in-line declaration of variables without assigning values
Calculate(out int length, out int breadth, out float area);
//displaying the values of length, breadth, and area
Console.WriteLine("Length of rectangle: " + length);
Console.WriteLine("Breadth of rectangle: " + breadth);
Console.WriteLine("Area of rectangle: " + area);
Console.ReadLine();
}
//method taking 'out' parameters and it returns multiple values
public static void Calculate(out int l, out int b, out float a)
{
l = 30;
b = 40;
a = l * b;
}
}
}

Sortie :

Paramètre de sortie C#

Conclusion

Le paramètre « out » en C# permet aux utilisateurs de transmettre des arguments par référence à une méthode. La variable utilisée comme paramètre « out » ne nécessite pas d'être initialisée avant d'être transmise à une méthode. La méthode appelée doit attribuer une valeur au paramètre out avant de renvoyer une valeur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Mot-clé statique en C#Article suivant:Mot-clé statique en C#