我试图让这个工作,但不知何故,它脱离了我的手…我想能够检查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