Quiero poder verificar si un valor es el predeterminado para su tipo de valor. Idealmente, me gustaría decir:Verificación del valor por defecto utilizando los tipos genéricos
DoSomething<TValue>(TValue value) {
if (value == default(TValue)) {
...
}
}
Sin embargo, el compilador se queja de que no puede hacer una comparación ==
en TValue y TValue. Esta es la mejor solución que he encontrado hasta el momento:
DoSomething<TValue>(TValue value) {
if (value == null || value.Equals(default(TValue))) {
...
}
}
¿Hay una manera más elegante/correcta de hacer esto?
Si arroja la restricción 'clase', también puede comprobar contra' nulo' ... –
@Marc - Lo sé, en este punto es una cuestión de preferencia. – ChaosPandion
Espero que esto funcione para cualquier tipo, incluidos los tipos de valor y clase. – StriplingWarrior