C# jenis nullable
C# Jenis nullable (Nullable)
C# menyediakan jenis data khas, nullable type (nullable type) , nullable type boleh mewakili nilai dalam julat normal jenis nilai asasnya, ditambah dengan nilai nol.
Contohnya, Nullable< Int32 >, disebut "nullable Int32", boleh diberikan sebarang nilai antara -2,147,483,648 dan 2,147,483,647, atau boleh diberikan nilai nol. Begitu juga, pembolehubah boleh dibatalkan >
Keupayaan untuk menetapkan null kepada jenis angka atau boolean amat berguna apabila bekerja dengan pangkalan data dan jenis data lain yang mengandungi elemen yang mungkin tidak diberikan nilai. Sebagai contoh, medan Boolean dalam pangkalan data boleh menyimpan nilai benar atau salah, atau medan itu boleh tidak ditentukan.
Sintaks untuk mengisytiharkan jenis nullable (jenis nullable) adalah seperti berikut:
< data_type> ? <variable_name> = null;
Contoh berikut menunjukkan penggunaan jenis data nullable:
using System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { int? num1 = null; int? num2 = 45; double? num3 = new double?(); double? num4 = 3.14157; bool? boolval = new bool?(); // 显示值 Console.WriteLine("显示可空类型的值: {0}, {1}, {2}, {3}", num1, num2, num3, num4); Console.WriteLine("一个可空的布尔值: {0}", boolval); Console.ReadLine(); } } }
Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:
显示可空类型的值: , 45, , 3.14157 一个可空的布尔值:
Pengendali penggabungan null ( ?? )
Pengendali penggabungan null digunakan untuk menentukan jenis dan rujukan yang boleh dibatalkan Lalai nilai jenis. Operator penggabungan Null mentakrifkan nilai lalai untuk penukaran jenis sekiranya nilai jenis yang boleh dibatalkan ialah Null. Operator penggabungan Null secara tersirat menukar jenis operan kepada jenis nilai yang boleh dibatalkan (atau tidak boleh dibatalkan).
Pengendali mengembalikan nilai operan kedua jika nilai operan pertama adalah nol, jika tidak ia mengembalikan nilai operan pertama. Contoh berikut menunjukkan ini:
using System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { double? num1 = null; double? num2 = 3.14157; double num3; num3 = num1 ?? 5.34; Console.WriteLine("num3 的值: {0}", num3); num3 = num2 ?? 5.34; Console.WriteLine("num3 的值: {0}", num3); Console.ReadLine(); } } }
Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:
num3 的值: 5.34 num3 的值: 3.14157