KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I need to check a generic object for null, or default(T). But I have a problem... Currently I have done it like this: if (typeof(T).IsValueType) { if(default(T).Equals(thing)) // Do something else // Do something else } else { if(thing == null) // Do something else // Do something else } But then I end up repeating myself... which I don't like. The problem is the following: thing == null; Here ReSharper warns about Possible compare of value type with 'null'. thing == default(T); Here I get compiler error: Cannot apply operator '==' to operands of type 'T' and 'T'. thing.Equals(null|default(T)); thing can obviously be null (that's why I have to check!), so will cause NullReferenceException. null|default(T).Equals(thing); null and default(T) is very often null as well... Is there a clean way to do this??
Tags (comma-separated)
Save Edits
Cancel