C# · 12月 28, 2021

c# – 为int,string,double等任何类型检查null或空的通用方式

我试图让这个工作,但不知何故,它脱离了我的手…我想能够检查null或空,我分配的任何类型.

EX:

int i =0;string mystring = “”;var reult = CheckNullOrEmpty(10) // passing intvar 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(“”); //truebool f2 = CheckNullOrEmpty<string>(null); //truebool f3 = CheckNullOrEmpty(0); //truebool f4 = CheckNullOrEmpty<Stub>(null); //true