1. 使用null合并运算符(??)
- 该运算符用于判断左侧的操作符是否为null,如果为null,则返回右侧的操作数,否则返回左侧的操作数。
string str = null; string result = str ?? "default";
2. 使用null条件运算符(?.)
该运算符用于判断是否为null,如果不是,则执行后面的成员访问操作;如果是,则返回null,不执行后面的操作
string str = null; int length = str?.Length ?? 0;
3. 使用Object.ReferenceEquals方法
该方法用于判断两个对象是否引用同一个内存地址,如果是,则返回True,否则返回false
object a = null; object b = null; bool result = Object.ReferenceEquals(a, b);
4. ==
该运算符用于判断两个对象是否相等,如果是,则返回True,否则返回false.在使用该运算符时需要注意,对于引用类型,==运算符判断两个对象的内存地址是否相同,而不是对象的值是否相等。
string str1=null; string str2=null; bool result=str1==str2;
5. string.IsNullOrEmpty
判断字符串是否为null或者空字符串
string str = null; bool result = string.IsNullOrEmpty(str);
6. string.IsNullOrWhiteSpace
该方法用于判断字符串是否为null、空字符串或者只包含空格字符。
string str = null; bool result = string.IsNullOrWhiteSpace(str);
7. Nullable.HasValue属性
该属性用于判断Nullable类型的对象是否有值,如果有,则返回true,否则返回false
int? num = null; bool nresult = num.HasValue;
8. IEnumerable.Any方法
判断集合是否为空,如果集合包含元素 则返回true,否则返回false
List<int> list = new List<int>(); bool eresult = list.Any();