Heim >Backend-Entwicklung >C++ >Wie kann C# das Objektübergang verarbeiten: Pass-by-Wert oder Pass-by-Referenz?
Beim Übergeben des Bildobjekts an die Methode werden die in dieser Methode vorgenommenen Änderungen im ursprünglichen Objekt nach zurückgegebener Methode nicht reflektiert. Dies weicht von der erwarteten Zitatsemantik ab.
Die Wahrheit des Wertes
Das Gegenteil der allgemeinen Kognition ist das Objekt selbst nicht direkt übergeben. Stattdessen werden ihre Werte bewertet und als anfängliche Parameter der Methode übergeben. Für den Referenztyp ist dieser Wert eine Referenz auf das vorhandene Objekt. Die Änderung des Objekts ist für den Anrufer sichtbar.
Der Parameter verweist jedoch auf ein anderes Objekt, das sich nicht in der Anrufmethode widerspiegelt. Dies liegt daran, dass alle Parameter standardmäßig weitergegeben werden.Passieren
Um das Real -Referenz -Übertragungsverhalten zu erreichen, müssen die Refitations- oder OUT -Schlüsselwörter verwendet werden. Diese Schlüsselwörter gewährleisten den Wert der Parameter, die Speicherposition und die Parameterfreigabe. Daher wird die Änderung der Parameter nach der Anrufmethode beobachtet. Kurz gesagt, obwohl das Objekt des Referenztyps ursprünglich den Wert übergeben wurde, können ihre Referenzen geändert werden und die Änderungen, die vom Referenzobjekt vorgenommen wurden, sind für den Anruf sichtbar. Die Zuordnung des neuen Objekts wird jedoch dem Parameter zugewiesen, die die Rückrufmethode nicht verbreitet. Um das Verhalten des realen Referenzverhaltens zu erreichen, müssen Ref oder Out explizit verwendet werden.
Das obige ist der detaillierte Inhalt vonWie kann C# das Objektübergang verarbeiten: Pass-by-Wert oder Pass-by-Referenz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!