Tôi muốn có thể kiểm tra xem giá trị có phải là giá trị mặc định cho loại giá trị của nó hay không. Lý tưởng nhất, tôi muốn nói:Kiểm tra giá trị mặc định bằng các loại chung
DoSomething<TValue>(TValue value) {
if (value == default(TValue)) {
...
}
}
Tuy nhiên, trình biên dịch phàn nàn rằng nó không thể làm một so sánh ==
trên TValue và TValue. Đây là giải pháp tốt nhất mà tôi đã đưa ra cho đến thời điểm này:
DoSomething<TValue>(TValue value) {
if (value == null || value.Equals(default(TValue))) {
...
}
}
Có cách nào thanh lịch/chính xác hơn để giải quyết vấn đề này không?
Nếu bạn ném vào ràng buộc 'lớp' bạn cũng có thể chỉ kiểm tra đối với 'null' ... –
@Marc - Tôi biết, tại thời điểm này nó là một vấn đề sở thích. – ChaosPandion
Tôi hy vọng sẽ làm công việc này cho bất kỳ loại nào, bao gồm cả giá trị và loại lớp. – StriplingWarrior