Maison > développement back-end > C++ > Comment les tableaux sont-ils transmis aux méthodes en C# ?

Comment les tableaux sont-ils transmis aux méthodes en C# ?

Linda Hamilton
Libérer: 2025-01-10 10:47:41
original
146 Les gens l'ont consulté

How Are Arrays Passed to Methods in C#?

Compréhension approfondie du passage de référence de tableau en C#

En C#, les tableaux sont différents des types de données de base. Ce sont des types de référence. Cela soulève la question : comment les tableaux sont-ils transmis aux méthodes ? Passer par valeur ou par référence ?

Transmission de valeur

Par défaut, les références aux tableaux sont passées par valeur. Cela signifie qu'une copie de la référence est créée et transmise à la méthode. Les modifications apportées au contenu du tableau à l'intérieur de la méthode seront visibles par le code appelant, mais toute réaffectation au tableau lui-même ne sera pas propagée à l'appelant.

Passez par référence

Pour modifier la référence elle-même, vous pouvez utiliser le modificateur ref. Passer un tableau par référence permet à l'appelant de voir toutes les modifications apportées à la référence, y compris les réaffectations.

Exemple

Le code suivant montre la différence entre le passage par valeur et le passage par référence :

<code class="language-csharp">void Foo(int[] data) {
    data[0] = 1; // 调用方可见此更改
}
void Bar(ref int[] data) {
    data = new int[20]; // 调用方可见此更改
}</code>
Copier après la connexion

Lors de l'appel Foo, une copie de la référence est transmise. La modification du contenu du tableau dans Foo sera visible dans le code appelant. Cependant, les réaffectations vers des tableaux au sein de Foo ne seront pas vues par l'appelant.

En revanche, lors de l'appel de ref avec le modificateur Bar, la référence elle-même est transmise. Toute modification de la référence, y compris les réaffectations, sera visible dans le code appelant.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal