Như những người khác đã đề cập, ?
được sử dụng cho declaring a value type as nullable.
này là rất tốt trong một vài tình huống:
- Khi kéo dữ liệu từ một cơ sở dữ liệu mà có một giá trị null được lưu trữ trong một lĩnh vực nullable (mà các bản đồ cho một loại giá trị NET)
- Khi bạn cần đại diện cho "không được chỉ định" hoặc "không tìm thấy".
Ví dụ, hãy xem xét một lớp học sử dụng để đại diện cho thông tin phản hồi từ khách hàng được hỏi một loạt các câu hỏi không bắt buộc:
class CustomerFeedback
{
string Name { get; set; }
int? Age { get; set; }
bool? DrinksRegularly { get; set; }
}
Việc sử dụng các loại nullable cho Age
và DrinksRegularly
có thể được sử dụng để cho biết khách hàng không trả lời những câu hỏi này.
Trong ví dụ bạn trích dẫn, tôi sẽ có giá trị null
cho LastLogon
để có nghĩa là người dùng chưa bao giờ đăng nhập.
Nguồn
2010-01-15 15:47:56
Liên kết trong bài đăng của bạn thực sự là ?? toán tử, đó là toán tử kết hợp không liên quan nhưng rất mát mẻ. –
Đọc phần 4.1.10 của đặc điểm kỹ thuật C# để biết chi tiết. –
@Charlie: Tôi nghĩ rằng đó là một bản sao trong quần áo của cừu cho đến khi tôi viết lại nó trong tiêu đề. –