Objekte als Referenz oder Wert übergeben

Ich möchte nur überprüfen, wie ich mit C # umgehen kann, bevor ich mich zu sehr mit dem Entwerfen meiner Klassen befasse. Mein aktuelles Verständnis ist, dass:

Struct ist einWert Typ, was bedeutet, dass er tatsächlich die darin definierten Datenelemente enthält.

Class ist einReferenz type, dh es enthält Verweise auf die darin definierten Datenelemente.

Eine Methodensignatur übergibt Parameter anWertDies bedeutet, dass eine Kopie des Werts an das Innere der Methode übergeben wird, was sie für große Arrays und Datenstrukturen teuer macht.

Eine Methodensignatur, die einen Parameter mit dem definiertref oderaus Schlüsselwörter übergeben stattdessen einen Parameter vonReferenzDies bedeutet, dass stattdessen ein Zeiger auf das Objekt bereitgestellt wird.

Was ich nicht verstehe, ist, was passiert, wenn ich eine Methode aufrufe, was tatsächlich passiert. Wird new () aufgerufen? Kopiert es die Daten nur automatisch? Oder zeigt es tatsächlich nur auf das ursprüngliche Objekt? Und wie funktioniert die Verwendungref undaus beeinflussen dies?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage