判断对象是否为某一类型
强制转换,即使转换失败也不会抛出异常
using System; class People { public void Say() { } } class MainClass { static void Main(string[] args) { People People = new People(); People?.Say(); // 1 在访问对象的成员之前先做一次判断,避免访问的是非法对象 int HasPeople = (People != null) ? 1 : 0; // 2 条件表达式 // 普通的数据类型是不能被赋值为null的 // int iData = null; // 3 可空类型,可以表示其基础值类型正常范围内的值,再加上一个null值 // 在数据类型后面加?,表示其是一个可以为null的类型,其他方面不受影响 // 这样的类型没有初始值的话默认就是null // 可空类型和其基础类型不是同一种类型,转换时要注意 int? iData = null; int? Data = 1; int? Result = iData ?? Data; // 4 合并结果,合并结果等于最靠前的非null的变量 } }