Rumah >pembangunan bahagian belakang >C++ >Rujukan vs Jenis Nilai Dalam C#: Apa Perbezaannya?
C# pengaturcaraan, memahami perbezaan antara jenis rujukan dan jenis nilai sangat penting. Walaupun kedua -duanya menyimpan data, tingkah laku dan penggunaannya sangat berbeza.
Jenis Quote
C# Jenis petikan adalah jenis bukan -basic, seperti antara muka, komisen, dan juga kelas yang disesuaikan. Mereka memegang rujukan untuk jenis contoh, bukan nilai sebenar itu sendiri. Ini bermakna bahawa dua pembolehubah jenis rujukan yang sama boleh menunjuk kepada objek yang sama.
jenis nilai
Sebaliknya, jenis nilai, seperti integer, nilai boolean, dan nombor terapung, terus menyimpan nilai mereka. Apabila pemboleh ubah jenis nilai diberikan kepada pemboleh ubah lain, salinan lengkap akan dibuat. Perubahan satu pembolehubah tidak akan menjejaskan pembolehubah lain. Perbezaan Utama
Perbezaan utama antara jenis petikan dan jenis nilai dalam jadual di bawah:
Contoh sebenar
Pertimbangkan kod berikut:
特性 | 引用类型 | 值类型 |
---|---|---|
值 | 内存地址 | 实际数据 |
复制行为 | 仅复制引用 | 复制整个值 |
赋值 | 分配不同的地址 | 分配相同的值 |
标识 | 对象可以共享标识 | 对象具有唯一标识 |
空值 | 可以为空 | 不能为空(可空类型除外) |
Dalam contoh ini, Number1 adalah jenis nilai, jadi salinan nilai diberikan kepada Number2. Mengubah Nombor1 tidak menjejaskan nombor2 kerana mereka adalah dua pembolehubah bebas dengan setiap nilai diri. Sekarang, mari kita lihat contoh jenis rujukan:
Dalam kes ini, orang adalah jenis rujukan, jadi Person1 dan Person2 menunjuk ke objek yang sama. Mengubah Person1 akan mengubah objek yang mendasari, yang akan dicerminkan dalam Person1 dan Person2.
<code class="language-csharp">int number1 = 5; int number2 = number1; // 修改 number1 number1++; // number2 保持不变 Console.WriteLine(number2); // 输出:5</code>
Atas ialah kandungan terperinci Rujukan vs Jenis Nilai Dalam C#: Apa Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!