Heim >Backend-Entwicklung >C++ >Referenz gegen Werttypen in C#: Was ist der Unterschied?
im Depetenverständnis des Referenztyps und des Werttyps in C#
C# Programmierung, das Verständnis der Differenz zwischen Referenztyp und Werttyp ist sehr wichtig. Obwohl beide Daten speichern, sind ihr Verhalten und ihre Verwendung sehr unterschiedlich.
Zitattyp
Zitattypen c# sind nicht -grasische Typen wie Schnittstellen, Provision und sogar angepasste Klassen. Sie haben Verweise auf Typinstanzen, nicht auf den tatsächlichen Wert selbst. Dies bedeutet, dass zwei Variablen desselben Referenztyps auf das gleiche zugrunde liegende Objekt verweisen können.
Werttyp
Andererseits speichern der Werttyp wie Ganzzahl, Boolesche Wert und schwebende Punktzahlen ihre Werte direkt. Wenn die Variable des Werttyps einer anderen Variablen zugewiesen wird, wird eine vollständige Kopie erstellt. Die Änderung einer Variablen wirkt sich nicht auf die andere Variable aus. Hauptunterschiede
Der Hauptunterschied zwischen dem Zitattyp und dem Werttyp in der folgenden Tabelle:
Tatsächliche Beispiele
Betrachten Sie den folgenden Code:
特性 | 引用类型 | 值类型 |
---|---|---|
值 | 内存地址 | 实际数据 |
复制行为 | 仅复制引用 | 复制整个值 |
赋值 | 分配不同的地址 | 分配相同的值 |
标识 | 对象可以共享标识 | 对象具有唯一标识 |
空值 | 可以为空 | 不能为空(可空类型除外) |
In diesem Beispiel ist Nummer1 ein Werttyp, sodass die Kopie des Wertes Number2 zugewiesen wird. Die Änderung der Nummer1 wirkt sich nicht auf Nummer2 aus, da es sich um zwei unabhängige Variablen mit jedem Selbstwert handelt.
Schauen wir uns ein Beispiel für den Referenztyp an:
<code class="language-csharp">int number1 = 5; int number2 = number1; // 修改 number1 number1++; // number2 保持不变 Console.WriteLine(number2); // 输出:5</code>In diesem Fall ist Person ein Referenztyp, also verweisen Person1 und Person2 auf dasselbe Objekt. Die Änderung der Person1 ändert das zugrunde liegende Objekt, das persönlich und Person2 reflektiert wird.
Das obige ist der detaillierte Inhalt vonReferenz gegen Werttypen in C#: Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!