Table of Contents

C#运算符


可类比C的

其他

is

判断对象是否为某一类型

as

强制转换,即使转换失败也不会抛出异常

? 问号运算符

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的变量
    }
}