Kịch bảnParse chuỗi thành số loại nullable (1 hoặc 2 liner)
Phân tích một chuỗi thành một số loại nullable. Nếu phân tích cú pháp không thành công, kết quả sẽ là null; nếu không kết quả sẽ là giá trị được phân tích cú pháp.
Câu hỏi
Để thực hiện điều này, tôi đã luôn luôn sử dụng các phương pháp đơn giản nhưng lengthily gây phiền nhiễu sau:
string numericString = "...";
decimal? numericValue;
decimal temp;
if (decimal.TryParse(numericString, out temp))
{
numericValue = temp;
}
else
{
numericValue = null;
}
tôi sử dụng các phương pháp trên vì sau đây không biên dịch:
decimal temp;
decimal? numericValue = decimal.TryParse(numericString, out temp) ? temp : null;
Có ai biết phiên bản đầu tiên không bit mã ngắn gọn, gọn gàng và dễ đọc như bit thứ hai? Tôi biết tôi luôn luôn có thể viết một phương pháp mở rộng mà đóng gói bit đầu tiên của mã, nhưng tôi tự hỏi nếu có bất kỳ cách nào để làm những gì tôi muốn mà không có một phương pháp mở rộng.
hoặc '? (thập phân?) temp: null; 'chỉ để thêm một giao diện khác. – Marc
Tôi thà sử dụng 'mặc định (thập phân?)', Tôi thấy nó dễ đọc hơn là một diễn viên ... –
@Thomas Tôi thích điều đó. – Dan