Trong C #, giá trị mặc định của một biến thể hiện lớp có kiểu là int?
gì?
Ví dụ, trong đoạn mã sau, giá trị nào sẽ MyNullableInt
có nếu nó không bao giờ được gán rõ ràng?
class MyClass
{
public int? MyNullableInt;
}
(Có vẻ như câu trả lời gần như chắc chắn là null
hoặc hoặc 0
, nhưng đó là câu trả lời nào?)
9
Tại sao lại ủng hộ? (Câu trả lời cho câu hỏi này ban đầu không rõ ràng đối với tôi nếu không thực sự chạy mã để kiểm tra hành vi; và thật ngạc nhiên, tôi không thể tìm thấy bản sao của câu hỏi này trên StackOverflow hoặc có thể dễ dàng tìm thấy ở nơi khác thông qua Google.)
—
Jon Schneider
Bạn có thể đã xem ở đây - lần đầu tiên google truy cập cho tôi.
—
500 - Lỗi máy chủ nội bộ vào
@ 500 - Tôi đã tìm thấy bài báo đó khi tôi đang nghiên cứu - tôi thực sự đã liên kết với nó trong câu trả lời của riêng tôi bên dưới - nhưng theo như tôi có thể nói, bài viết không nêu rõ ràng rằng giá trị mặc định của một trường hợp kiểu nullable là null. Nó không nói "Giá trị mặc định cho HasValue là sai. Khu nghỉ dưỡng Giá trị không có giá trị mặc định", nhưng điều đó không trực tiếp trả lời câu hỏi ban đầu của tôi mà không cần đào một số bổ sung.
—
Jon Schneider
Tôi tự hỏi có phải vì bạn chỉ có thể đặt một điểm ngắt và xem giá trị là gì, hay trong loại Cửa sổ ngay lập tức
—
Rufus L
int? x;
và xem kết quả là gì?