Thursday, December 12, 2019

Kiểu dữ liệu nullable C# - C# cơ bản

C# cơ bản cung cấp một loại dữ liệu đặc biệt, các loại nullable mà bạn có thể gán 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 <Int32>. Tương tự, bạn có thể gán true, false hoặc null trong biến <bool> Nullable.
Kiểu dữ liệu nullable C#

Cú pháp khai báo một kiểu nullable như sau
< data_type> ? <variable_name> = null;
Ví dụ sau đây cho thấy việc sử dụng các loại dữ liệu không thể thực hiện được
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
Toán tử hợp nhất Null (??)
Toán tử hợp nhất null được sử dụng với các loại giá trị null và các loại tham chiếu. Nó được sử dụng để chuyển đổi một toán hạng thành loại toán hạng giá trị nullable (hoặc không) khác, trong đó có thể chuyển đổi ngầm định.
Nếu giá trị của toán hạng thứ nhất là null, thì toán tử trả về giá trị của toán hạng thứ hai, nếu không, nó sẽ trả về giá trị của toán hạng thứ nhất. Ví dụ sau đây 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

No comments:

Post a Comment