dans -depth compréhension du type de référence et du type de valeur en C #
C # Programmation, la compréhension de la différence entre le type de référence et le type de valeur est très importante. Bien que les deux stockent les données, leur comportement et leur utilisation sont très différents.
Type de devis
C # Les types de citations sont des types non basiques, tels que les interfaces, la commission et même les classes personnalisées. Ils détiennent des références aux instances de type, et non à la valeur réelle elle-même. Cela signifie que deux variables du même type de référence peuvent pointer vers le même objet sous-jacent.
Type de valeur
En revanche, le type de valeur, tel que entier, la valeur booléenne et les nombres de points flottants, stockent directement leurs valeurs. Lorsque la variable de type de valeur est affectée à une autre variable, une copie complète sera créée. Le changement d'une variable n'affectera pas l'autre variable. Différences principales
La principale différence entre le type de devis et le type de valeur dans le tableau ci-dessous:
Exemples réels
Considérez le code suivant:
特性 | 引用类型 | 值类型 |
---|---|---|
值 | 内存地址 | 实际数据 |
复制行为 | 仅复制引用 | 复制整个值 |
赋值 | 分配不同的地址 | 分配相同的值 |
标识 | 对象可以共享标识 | 对象具有唯一标识 |
空值 | 可以为空 | 不能为空(可空类型除外) |
Dans cet exemple, Number1 est un type de valeur, donc la copie de la valeur est attribuée à Number2. La modification du numéro1 n'affecte pas le nombre 2 car ce sont deux variables indépendantes avec chaque valeur d'auto-valeur.
Maintenant, jetons un coup d'œil à un exemple de type de référence:
<code class="language-csharp">int number1 = 5; int number2 = number1; // 修改 number1 number1++; // number2 保持不变 Console.WriteLine(number2); // 输出:5</code>
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!