Tôi muốn biết các câu lệnh dưới đây có bao giờ trả về một kết quả khác nhau cho các loại tham chiếu hay chúng giống nhau không?mặc định (T) so với Activator.CreateInstance (T)
Nếu họ là giống hệt nhau, bạn có thể luôn luôn sử dụng mặc định (T), trong ví dụ này, nếu mục đích là để sản xuất các giá trị mặc định của T ?:
if (typeof(T).IsValueType || typeof(T) == typeof(String))
{
return default(T);
}
else
{
return Activator.CreateInstance<T>();
}
Best way to test if a generic type is a string? (c#)
ta!
Không, mặc định (T) cho kiểu tham chiếu trả về null, CreateInstance() không phải vì nó tạo đối tượng kiểu T. Khó đoán mã này thực sự cố gắng làm gì làm. –
Không phải là 'mặc định (chuỗi)' null quá? – BoltClock
Cảm ơn bạn đã xóa bỏ sự nhầm lẫn! Các mẫu mã là một phần của sự nhầm lẫn, tôi thấy nó tại stackoverflow bài liên kết dưới đây nó .. – Cel