Heim > Backend-Entwicklung > C++ > Wie werden Arrays in C# an Methoden übergeben?

Wie werden Arrays in C# an Methoden übergeben?

Linda Hamilton
Freigeben: 2025-01-10 10:47:41
Original
259 Leute haben es durchsucht

How Are Arrays Passed to Methods in C#?

Umfassendes Verständnis der Array-Referenzübergabe in C#

In C# unterscheiden sich Arrays von grundlegenden Datentypen. Sie sind Referenztypen. Dies wirft die Frage auf: Wie werden Arrays an Methoden übergeben? Wertübergabe oder Referenz?

Wertübergabe

Standardmäßig werden Array-Referenzen als Wert übergeben. Dies bedeutet, dass eine Kopie der Referenz erstellt und an die Methode übergeben wird. Änderungen, die am Array-Inhalt innerhalb der Methode vorgenommen werden, sind für den aufrufenden Code sichtbar, aber etwaige Neuzuweisungen am Array selbst werden nicht an den Aufrufer zurückgegeben.

Übergabe als Referenz

Um die Referenz selbst zu ändern, können Sie den Modifikator ref verwenden. Durch die Übergabe eines Arrays als Referenz kann der Aufrufer alle Änderungen an der Referenz sehen, einschließlich Neuzuweisungen.

Beispiel

Der folgende Code veranschaulicht den Unterschied zwischen der Wertübergabe und der Referenzübergabe:

void Foo(int[] data) {
    data[0] = 1; // 调用方可见此更改
}
void Bar(ref int[] data) {
    data = new int[20]; // 调用方可见此更改
}
Nach dem Login kopieren

Beim Aufruf von Foo wird eine Kopie der Referenz übergeben. Das Ändern des Inhalts des Arrays innerhalb von Foo wird im aufrufenden Code sichtbar. Neuzuweisungen zu Arrays innerhalb von Foo werden vom Aufrufer jedoch nicht gesehen.

Im Gegensatz dazu wird beim Aufruf von ref mit dem Modifikator Bar die Referenz selbst übergeben. Alle Änderungen an der Referenz, einschließlich Neuzuweisungen, werden im aufrufenden Code sichtbar.

Das obige ist der detaillierte Inhalt vonWie werden Arrays in C# an Methoden übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage