Il existe six types de paramètres dans les méthodes C#, à savoir les paramètres de valeur, les paramètres de référence, les paramètres de sortie, les tableaux de paramètres, les paramètres nommés et les paramètres facultatifs. L'article suivant vous le présentera. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Paramètre valeur
Le paramètre valeur est le type par défaut de la méthode, en copiant la valeur du paramètre réel à Les données sont transmises à la méthode sous forme de paramètres formels. Lorsque la méthode est appelée, le système effectue deux étapes
1. Allouer de l'espace pour les paramètres formels.
2. Copiez les paramètres réels dans les paramètres formels.
1) Avant que la méthode ne soit appelée, la référence de la variable a1 utilisée comme paramètre réel est déjà sur la pile.
2) Au démarrage de la méthode, le système alloue de l'espace sur la pile pour les paramètres formels et copie les valeurs des paramètres réels.
3) Parce que a1 est un type référence, la référence est copiée et, par conséquent, les paramètres réels et les paramètres formels font référence au même objet dans le tas.
4) Parce que a2 est un type valeur, la valeur est copiée, produisant une donnée indépendante.
5) Une fois la méthode exécutée, les paramètres formels sont extraits de la pile.
6) a2, type valeur, sa valeur n'est pas affectée par le comportement de la méthode.
7) a1. Type de référence, sa valeur est modifiée par le comportement de la méthode.
Paramètres de référence
1 Lorsque vous utilisez des paramètres de référence, vous devez utiliser le modificateur ref dans la déclaration et l'appel de la méthode.
2. Le paramètre réel doit être une variable et doit se voir attribuer une valeur avant d'être utilisé comme paramètre réel.
Pour les paramètres de valeur, le système alloue de la mémoire pour le paramètre formel sur la pile à l'inverse, pour les paramètres de référence, le nom du paramètre formel ressemble à un alias pour le ; variable de paramètre réelle, c'est-à-dire qu'ils pointent vers le même emplacement mémoire. Par conséquent, toutes les modifications apportées aux paramètres formels pendant l’exécution de la méthode sont toujours valides (affichées dans les variables de paramètres réelles) une fois l’exécution de la méthode terminée.
La transmission des paramètres de référence est entièrement transmise pour les types valeur et les types référence. Il n'y a pas de copie des valeurs et des références, c'est-à-dire que le même emplacement mémoire est référencé.
Paramètres de sortie
Les paramètres de sortie sont utilisés pour transmettre les données du corps de la méthode au code appelant. Ils sont très similaires aux paramètres de référence.
1. Le modificateur out doit être utilisé dans la déclaration et l'appel de la méthode.
2. Semblables aux paramètres de référence, les paramètres réels doivent être des variables.
Tout comme les paramètres de référence, les paramètres formels des paramètres de sortie servent d'alias pour les paramètres réels. Toute modification apportée aux paramètres formels au sein de la méthode sera visible via les variables de paramètre réelles une fois l'exécution de la méthode terminée.
Différents des paramètres de référence, les paramètres de sortie ont les deux exigences suivantes.
1. À l'intérieur de la méthode, le paramètre de sortie doit se voir attribuer une valeur avant d'être lu, ce qui signifie que la valeur initiale du paramètre n'est pas pertinente, il n'est donc pas nécessaire d'attribuer une valeur au paramètre réel avant la méthode est appelée.
2. Avant le retour de la méthode, tout chemin possible à travers la méthode doit être attribué une fois à tous les paramètres de sortie.
Tableau de paramètres
Dans les 3 méthodes de paramètres ci-dessus, un paramètre réel doit correspondre strictement à un paramètre formel. Le tableau de paramètres est différent, ce qui permet à zéro ou plusieurs paramètres réels de correspondre à un paramètre formel spécial.
Les exigences relatives aux tableaux de paramètres sont les suivantes :
1. Il ne peut y avoir qu'un seul tableau de paramètres dans une liste de paramètres.
2. S'il y en a, ce doit être le dernier de la liste.
Déclarer un tableau de paramètres doit avoir le modificateur params (aucun modificateur n'est requis pour l'appel), et il doit s'agir d'un tableau d'un seul type.
Lors de l'utilisation du passage de paramètres distribués, le compilateur effectue les opérations suivantes :
1) Accepte une liste de paramètres réels et les utilise pour créer et initialiser un tas tableau.
2) Enregistrez la référence du tableau au paramètre formel sur la pile.
3) S'il n'y a pas de paramètre réel dans la position du groupe de paramètres formel correspondant, le compilateur créera un tableau avec zéro élément à utiliser.
4) Si le paramètre du tableau est un type valeur, alors la valeur est copiée et les paramètres réels ne sont pas affectés à l'intérieur de la méthode.
5) Si le paramètre de tableau est un type référence, alors la référence est copiée et l'objet référencé par le paramètre réel peut être affecté dans la méthode.
Lors de l'utilisation du passage de paramètres de tableau, le compilateur utilise vos données au lieu de les recréer. Cela équivaut à des paramètres de référence.
Paramètres nommés
Les quatre paramètres utilisés ci-dessus sont tous des paramètres de position, ce qui signifie que la position de chaque paramètre réel doit être la même. correspond à la position du paramètre formel correspondant.
À partir de .Net4.0, tant que le nom du paramètre spécifié est affiché, les paramètres réels peuvent être répertoriés dans n'importe quel ordre dans l'appel de méthode. Les détails sont les suivants.
1. Il n'y a aucune différence dans la déclaration des méthodes. Les paramètres formels ont déjà des noms.
2. Cependant, lors de l'appel d'une méthode, le nom du paramètre formel est suivi de deux points et de la valeur ou de l'expression réelle du paramètre.
🎜>
Paramètre facultatifLe paramètre facultatif n'a été ajouté que dans .Net4.0. inclus lors de l’appel de la méthode, ou omettez-le. Pour indiquer qu'un paramètre est facultatif, vous devez fournir une valeur par défaut pour le paramètre lorsque la méthode est déclarée. La syntaxe de spécification des valeurs par défaut est la même que pour l'initialisation des variables locales. Comme indiqué ci-dessous
1) Le paramètre formel b est défini sur la valeur par défaut.
2) Par conséquent, lors de l'appel de la méthode, il n'y a qu'un seul paramètre, et la méthode utilisera 3 comme initialisation du deuxième paramètre.
Il y a plusieurs points importants concernant la déclaration des paramètres facultatifs : 1. Tous les types de paramètres ne peuvent pas être utilisés comme paramètres facultatifs.
1) Tant que la valeur par défaut du type valeur peut être déterminée au moment de la compilation, vous pouvez utiliser le type valeur comme paramètre facultatif.
2). Les types de référence peuvent être utilisés comme paramètres facultatifs uniquement lorsque la valeur par défaut est nulle.
3) Les paramètres facultatifs ne peuvent être que des paramètres de valeur.
2. Tous les paramètres requis doivent être déclarés avant que les paramètres facultatifs ne soient déclarés. S'il existe des paramètres params, ils doivent être déclarés après tous les paramètres facultatifs.
3. Il doit être omis de la fin de la liste des paramètres facultatifs jusqu'au début, sinon cela entraînera une ambiguïté des paramètres.
4. Si vous souhaitez éliminer l'ambiguïté des paramètres, vous pouvez combiner les fonctionnalités des paramètres nommés et des paramètres facultatifs.
Comme indiqué ci-dessous
Cet article provient de la colonne
Tutoriel C#.Net
, bienvenue pour apprendre !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!