Toán tử kết hợp Null trong C# là gì

Toan Tu Ket Hop Null Trong C La Gi



C# là một ngôn ngữ lập trình được sử dụng rộng rãi được thiết kế để tạo ra các ứng dụng hiệu quả và mạnh mẽ cho các nền tảng khác nhau. Ngôn ngữ này có nhiều tính năng nâng cao, bao gồm cả toán tử hợp nhất null , giúp đơn giản hóa mã phức tạp bằng cách cung cấp một cú pháp nhỏ gọn để xử lý các giá trị null. Toán tử này đã trở nên phổ biến đối với các nhà phát triển đang tìm kiếm một phương pháp đơn giản để xử lý vô giá trị giá trị trong các dự án của họ.

Bài viết này sẽ đi vào chi tiết về toán tử hợp nhất null .







Toán tử kết hợp Null trong C# là gì

Trong C#, ký hiệu cho toán tử hợp nhất null ?? . Nếu một biến là null, nó được sử dụng để cung cấp cho nó một giá trị mặc định.



Ví dụ, nếu chúng ta có một biến x có thể là null và chúng tôi muốn gán cho nó giá trị mặc định là 10 nếu nó là null, chúng tôi có thể sử dụng toán tử hợp nhất null như sau:



int y = x ?? 10





Câu lệnh này sẽ gán giá trị của 10 đến y nếu x là null, ngược lại, nó sẽ nhận giá trị của x.

Nó sẽ trả về giá trị của toán hạng bên trái nếu nó không phải là null. Toán hạng bên phải được kiểm tra và kết quả được trả về nếu nó là null. Ngoài ra, nếu toán hạng bên trái ước tính không rỗng, thì nó không đánh giá toán hạng bên phải của nó.



Cách truyền thống để viết mã mà không cần toán tử hợp nhất null là:

nếu như ( kết quả là null )

trở lại danh sách mới < Người > ( ) ;

trở lại kết quả;

Chúng ta có thể rút gọn dòng này thành một dòng chứa cả giá trị mặc định không null và kiểm tra null bằng cách sử dụng toán tử hợp nhất null :

trở lại kết quả ?? danh sách mới < Người > ( ) ;

Một số điểm quan trọng cần nhớ về toán tử hợp nhất null là:

  • Một biến phải là toán hạng bên trái của ?? nhà điều hành.
  • Toán hạng bên trái của toán tử ??= không thể là kiểu không nullable.
  • Toán tử hợp nhất null không thể bị quá tải.
  • Toán tử kết hợp null là liên kết phải. Điều này có nghĩa là một biểu thức như a ??= b ??= c sẽ được đánh giá là a ??= (b ??= c).

Công dụng của toán tử kết hợp Null

Công dụng của toán tử hợp nhất null là:

1: Cung cấp giá trị mặc định

Khi làm việc với các loại nullable, nếu giá trị là null, bạn có thể sử dụng toán tử hợp nhất null để cung cấp một giá trị mặc định thay vì đưa ra một ngoại lệ.

sử dụng Hệ thống;

chương trình lớp công cộng
{
khoảng trống tĩnh công khai Chính ( )
{
không? nullableValue = null;
giá trị int = nullableValue ?? 10 ;
Console.WriteLine ( 'Giá trị là:' + giá trị ) ;
}
}

Trong ví dụ trên, chúng ta xác định số nguyên nullableValue biến và đặt cho nó một giá trị bằng không. Các toán tử hợp nhất null sau đó được sử dụng để cung cấp cho biến giá trị giá trị mặc định là 10 nếu nullableValue là null. Tiếp theo, giá trị được hiển thị trên bàn điều khiển.

2: Tránh ngoại lệ tham chiếu Null

Giá trị null có thể dẫn đến ngoại lệ tham chiếu null khi làm việc với các cấu trúc dữ liệu tinh vi như đối tượng và mảng. Những ngoại lệ này có thể tránh được bằng cách sử dụng toán tử hợp nhất null , cung cấp các giá trị mặc định.

sử dụng Hệ thống;

lớp công khai myClass
{
Tên chuỗi công khai { lấy; bộ ; }
ID int công khai { lấy; bộ ; }
}
chương trình lớp công cộng
{
khoảng trống tĩnh công khai Chính ( )
{
myClass người = null;
tên chuỗi = người?.Tên?? 'Không xác định' ;
int nhận dạng = người?.ID?? 0 ;
Console.WriteLine ( 'Tên: ' + tên ) ;
Console.WriteLine ( 'NHẬN DẠNG: ' + nhận dạng ) ;
}
}

Tên NHẬN DẠNG là các thuộc tính của lớp học của tôi class trong đoạn mã trên. Để truy cập an toàn vào Tên NHẬN DẠNG thuộc tính của đối tượng người và cung cấp các giá trị mặc định nếu chúng là null, nó đặt một biến người thành null và sau đó sử dụng toán tử điều kiện null (?.) và toán tử hợp nhất null (??). Sau đó, bảng điều khiển được in với các giá trị tên và id.

3: Loại bỏ các điều kiện if-else dư thừa

Bạn cũng có thể sử dụng toán tử hợp nhất null để làm cho mã của bạn ngắn gọn và dễ đọc hơn bằng cách loại bỏ nhu cầu dư thừa điều kiện if-else .

Ví dụ:

sử dụng Hệ thống;

không gian tên Ví dụ
{
lớp myClass
{
khoảng trống tĩnh Chính ( sợi dây [ ] tranh luận )
{
không? nullableValue = null;
giá trị int;
nếu như ( nullableValue ! = không )
{
giá trị = nullableValue.Value;
}
khác
{
giá trị = 10 ;
}
Console.WriteLine ( 'Giá trị là:' + giá trị ) ;
}
}
}

Trong đoạn mã trên, toán tử hợp nhất null ?? được sử dụng để gán giá trị của nullableValue giá trị. Nếu như nullableValue không phải là null, thì giá trị sẽ có cùng giá trị với nullableValue . Nếu như nullableValue là null, thì giá trị sẽ có giá trị là 10. nếu khác điều kiện không còn cần thiết nữa và mã giờ đây ngắn hơn và dễ hiểu hơn.

Phần kết luận

Các toán tử hợp nhất null trong C# là một tính năng mạnh giúp đơn giản hóa cách các nhà phát triển xử lý các giá trị null trong các dự án của họ. Toán tử này cung cấp một cú pháp nhỏ gọn, hiệu quả và linh hoạt để gán các giá trị mặc định cho các biến có thể là null. Bằng cách sử dụng toán tử hợp nhất null , các nhà phát triển có thể viết mã dễ đọc, dễ bảo trì và hiệu quả hơn, tiết kiệm thời gian và công sức trong quá trình phát triển.