Site icon Kiến thức gia đình

C # – Nullables

Kiến thức lập trình C#

C # cung cấp một kiểu dữ liệu đặc biệt, vô hiệu loại, mà bạn có thể chỉ định phạm vi giá trị bình thường cũng như giá trị null.

Ví dụ: bạn có thể lưu trữ bất kỳ giá trị nào từ -2,147,483,648 đến 2,147,483,647 hoặc null trong biến Nullable . Tương tự, bạn có thể gán true, false hoặc null trong biến Nullable . Cú pháp khai báo một vô hiệu loại như sau –

< data_type> ? <variable_name> = null;

Ví dụ sau minh họa việc sử dụng kiểu dữ liệu 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?();

         // display the values
         Console.WriteLine("Nullables at Show: {0}, {1}, {2}, {3}", num1, num2, num3, num4);
         Console.WriteLine("A Nullable boolean value: {0}", boolval);
         Console.ReadLine();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Nullables at Show: , 45,  , 3.14157
A Nullable boolean value:

Nhà điều hành Null Coalescing (??)

Toán tử liên kết null được sử dụng với các kiểu giá trị và kiểu tham chiếu có thể null. Nó được sử dụng để chuyển đổi một toán hạng sang kiểu của một toán hạng kiểu giá trị nullable (hoặc không) khác, nơi có thể thực hiện chuyển đổi ngầm định.

Nếu giá trị của toán hạng đầu tiên là null, thì toán tử trả về giá trị của toán hạng thứ hai, ngược lại nó trả về giá trị của toán hạng đầu tiên. Ví dụ sau giải thích điều này –

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(" Value of num3: {0}", num3);
         
         num3 = num2 ?? 5.34;
         Console.WriteLine(" Value of num3: {0}", num3);
         Console.ReadLine();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Value of num3: 5.34
Value of num3: 3.14157
Exit mobile version