cuốn sách gpt4 ai đã làm

c# - decimal 和 decimal 上的空合并运算符

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 18:38:14 27 4
mua khóa gpt4 Nike

Tôi gặp phải lỗi sau khi áp dụng toán tử hợp nhất null.

số thập phân riêng _currentImpulseId;
// ... sau này được sử dụng trong getter thuộc tính công cộng như sau

CurrentImpulseId thập phân công khai
{
nhận được { trả về _currentImpulseId ??
đặt { _currentImpulseId = giá trị }
}

Lỗi sau được trả về:

Toán tử '??' không thể được áp dụng cho toán hạng thuộc loại 'thập phân' và 'thập phân'

Tại sao điều này không hoạt động? Toán tử hợp nhất null không hoạt động với số thập phân hay tôi đang thiếu thứ gì đó ở đây? Tôi biết cách giải quyết vấn đề này mà không cần sử dụng toán tử, nhưng điều này khiến tôi hơi bối rối, vì vậy tôi tự hỏi liệu bạn có biết câu trả lời chính xác cho vấn đề này không?

Cảm ơn!

câu trả lời hay nhất

Bạn đang gặp phải lỗi này bởi vì decimal là loại giá trị, không phải loại giá trị rỗng (ví dụ: decimal?) hoặc loại tham chiếu.

từ MSDN :

...và được sử dụng để xác định giá trị mặc định cho loại giá trị null hoặc loại tham chiếu

decimal Giá trị mặc định cho các biến loại là 0, vì vậy tôi không chắc tại sao bạn lại muốn sử dụng toán tử này trong trường hợp này.

Hơn nữa, kể từ khi giới thiệu thuộc tính được triển khai tự động Vì .NET 3.0 nên không cần hỗ trợ các biến trường (_currentImpulseId) có nghĩa là bạn có thể viết

số thập phân công khai CurrentImpulseId { được đặt;

Về toán tử hợp nhất c# - null trên số thập phân và số thập phân, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12072553/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress