我试图让这个工作,但不知何故,它脱离了我的手…我想能够检查null或空,我分配的任何类型.
EX:
int i =0; string mystring = ""; var reult = CheckNullOrEmpty(10) // passing int var result 1 = CheckNullOrEmpty(mystring) // passing string public bool CheckNullOrEmpty<T>(T value) { // check for null or empty for strings // check for null i.e. 0 for int }
有人可以帮助我这个..我想了解泛型是如何工作的这个简单的方法.
解决方法
public static bool CheckNullOrEmpty<T>(T value) { if (typeof(T) == typeof(string)) return string.IsNullOrEmpty(value as string); return value == null || value.Equals(default(T)); }
如何使用:
class Stub { } bool f1 = CheckNullOrEmpty(""); //true bool f2 = CheckNullOrEmpty<string>(null); //true bool f3 = CheckNullOrEmpty(0); //true bool f4 = CheckNullOrEmpty<Stub>(null); //true