先说一个我个人理解的概念,一个词
不行
null,就是不行(he~ tui~ 🤮 啥也不是)
?问号,针对运行时,表示为 左边行不? 都这么问了,那就表示为,他可以不行.
! 叹号,针对写代码时,表示为 我信左边能行! 也就是说,他真的运行起来,有可能就不行,这是武断的吹牛!
问号:
左边行不?
看一个例子,理解一下? 问号,在定义变量时候的效用
//正常的定义一个int(int是不可以等于null的)
int a;
//定义一个可能不行的int,也就是可以为null
int? b;
//这句错误,因为b可能不行啊!!要是b=0之类的算是行,但是如果b=null,那b就是不行.不行别硬上!
a = b;
//这句可以,因为a一定行,b被a附身了以后,b就行了!
b = a;
再看一个例子,感受一下?在其他时候的效用
int a = 1;
int b = 2;
bool c = b>a ? true : false;
//可以简写为
//bool c = b>a;
把这一句看做一个天平⚖,或者是跷跷板
b>a?
左边true___________________false右边
简单说就是 以左边优先 问一句
左边行不?
左边行就左边来,不行就右边上.