Tôi có một phương pháp chung với mã (giả) này (vâng tôi biết IList có các vị từ, nhưng mã của tôi không sử dụng IList mà là một số bộ sưu tập khác, dù sao thì điều này không liên quan đến câu hỏi ...)
static T FindThing<T>(IList collection, int id) where T : IThing, new()
{
foreach T thing in collecion
{
if (thing.Id == id)
return thing;
}
return null; // ERROR: Cannot convert null to type parameter 'T' because it could be a value type. Consider using 'default(T)' instead.
}
Điều này mang lại cho tôi một lỗi xây dựng
"Không thể chuyển đổi null thành loại tham số 'T' vì đó có thể là loại giá trị. Thay vào đó, hãy xem xét sử dụng 'mặc định (T)'."
Tôi có thể tránh lỗi này không?
null
bất kểT
là cóObject
hayint
khôngchar
.