Móc nối toán tử ?? của C# để lấy tham số nhẹ nhàng hơn

C# từ bản 2.0 có toán tử ?? rất tiện. Toán tử ?? tương tự như hàm isnull() trong T-SQL của SQL Server vậy. Nó hoạt động như sau:

Nếu value1 là null thì sẽ trả ra value2;

VD:
Nếu dùng toán tử ??

string result = value1 ?? value2;

Nếu viết bình thường
string value1 = null;
string value2 = "Test1";
string result = value1 != null ? value1 : value2;

Cả hai trường hợp trên, biến result sẽ nhận giá trị “Test1”.

Sử dụng toán tử ?? thì bạn sẽ dễ viết hơn, ngắn gọn, bỏ đi được cả đống if() kiểm tra null. Với VD dưới đây, bạn có thể móc nối toán tử ?? để viết chỉ trên 1 dòng mã (chaining):

string partner = Request.QueryString["GoogleId"] ??
Request.QueryString["PartnerId"] ??
Request.QueryString["UserKey"] ??
string.Empty;

Câu lệnh trên sẽ dừng khi nó tìm ra giá trị querystring đầu tiên không null. Nếu tất cả querystring đều null thì nó sẽ trả ra chuỗi rỗng “”.

Nếu bạn sử dụng if()else thì sẽ phải viết rất nhiều mã, nhàm chán, lại phải lồng các if() vào nhau, khó đọc.

.

Nguồn: http://www.west-wind.com/weblog/posts/236298.aspx

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s