Tôi có phương pháp chung chung sau đây, nhưng VS cho tôi một lỗi biên dịch trên đó. (Toán tử '??' không thể áp dụng cho các toán hạng kiểu 'T' và 'T')Toán tử '??' không thể áp dụng cho các toán hạng kiểu 'T' và 'T'
public static T Method<T>(T model) where T : new()
{
var m = model ?? new T();
}
Có ai biết tại sao không?
Chỉnh sửa: Có thể lý do là T có thể là cấu trúc trong trường hợp của tôi không và cấu trúc có phải là một loại không có giá trị không?
tại sao ông nên 'trở lại m' thay vì' trở lại mô hình ?? new T(); 'tôi nghĩ kết quả sẽ giống nhau? – WiiMaxx
Tất nhiên chúng giống nhau! Nhưng trong câu hỏi số 1 được sử dụng. Nó chỉ là tôi đã đề cập. –
Có thể lý do là T có thể là một cấu trúc trong trường hợp của tôi không, và cấu trúc là một kiểu không nullable? –