C# - C Sharp: Nullable

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Trong C# thông thường chỉ những biến có kiểu tham chiếu mới có thể được gán giá trị null, tuy nhiên, C# cung cấp kiểu nullable để cho phép cả những biến có kiểu giá trị có thể được gán giá trị null. Biến có kiểu nullable sẽ được chỉ định hoặc là bằng cách sử dụng một giá trị đặc biệt hoặc là một biến bổ sung. Biến bổ sung này  có thể chỉ định giá trị null hoặc khác null cho biến yêu cầu; còn giá trị đặc biệt chỉ hữu ích khi giá trị đã sử dụng phải có tính nhất quán giữa các ứng dụng. Việc tạo và quản lý các trường bổ sung cho các biến này làm tốn bộ nhớ hơn và trở nên nhàm. Vần đề này có thể được giải quyết bằng cách sử dụng nullable.

Tạo kiểu nullable

Kiểu nullable là cách thức mà ta có thể định nghĩa giá trị null cho kiểu giá trị; điều này có nghĩa là một biến có kiểu giá trị có thể chứa giá trị null. Kiểu nullable là một thể hiện của structure System.Nullable<T>. Để tạo kiểu nullable ta có hai cách như sau:

Data_type? Variable_name = Value;

Hoặc:

System.Nullable<Data_type> Variable_name = Value;

Ví dụ:

int? n = null;
n = 123;
System.Nullable<float> f = null;
f = 456.0f;

Các đặc điểm của nullable

Biến có kiểu nullable có thể chứa giá trị null.

Biến có kiểu nullable làm việc như một biến thông thường.

Có thể trả lại giá trị được gán hoặc giá trị mặc định cho biến kiểu nullable.

Khi đem gán một biến kiểu nullable cho một biến không phải kiểu nullable thì cần phải sử dụng toán tử (??) để thực hiện theo cú pháp như sau:

Variable_name_non_nullable = Variable_name_nullable??Default_value;

Ví dụ:

int? n = null;
int m = 1000;
m = n??0; //m sẽ nhận giá trị 0 vì n chứa giá trị null

Lưu ý: Một trong những ứng dụng của kiểu nullable là để tích hợp C# với cơ sở dữ liệu trong đó các cột của bảng nào đó có thể chứa giá trị null. Nếu không có kiểu nullable thì không có cách nào để thể hiện chính xác những giá trị null trong các cột của bảng đó. Một ví dụ khác cũng để thấy được ý nghĩa của kiểu nullable là nếu ta có một biến kiểu bool thì tất nhiên biến đó sẽ chứa hoặc là giá trị true hoặc là giá trị false, những nếu ta lại muốn biến đó chứa giá trị không true mà cũng không false thì có chuyển kiểu của biến đó về kiểu bool?, khi đó biến có thể chứa thêm giá trị null.

» Tiếp: Kiểu liệt kê (enum)
« Trước: Partial
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!