运算符
第六章分为两个部分,第一个是运算符,另一个是类型强制转换。这个笔记部分先讲运算符中自己以前不熟悉的部分
逻辑运算符
说明 | |
---|---|
& | 逻辑运算符:AND-与 |
| | 逻辑运算符:OR-或 |
^ | 逻辑运算符:XOR-异或 |
~ | 位操作:取反 |
&& | 条件逻辑运算符:与 |
|| | 条件逻辑运算符:或 |
! | 逻辑运算符 :非 |
&和&&等的区别
在两个条件判断的时候,前者两边条件都判断,后者如果前面不成立直接跳出
在省计算机资源的情况下,一般都会用&&
关于?
-
三元运算符–?:
int a = 1 string b = a>5?"YES":"NO"
-
可空类型和运算符
值类型一般不可以为null,但是数据库里面却有时候常常是可空的,所以如此设计,更加方便
int? a = null;
-
空合并运算符–??
判断是否为null,如果是,就使用??后面的值.
需要注意的是:??前后两个变量的类型要相同
int? a = null;
int b = a ?? 10
等价
int b = a == null ? 10 : a;
- 空条件运算符
其实属于超级无用的语法糖
对于类在变量的属性(.)前加?判断;
之前
void xx(QWER o){
if(0==null) return;
var z=o.xx;
}
之后
void yy(QWER q){
var z=q?.xx;
}
对于数组
int[] aa=null;
之前
int x = aa == null ? 1 : aa[0];
之后
int x = aa?[0] ?? 1;
有符号数和无符号数
int,long,short的最前面一位用来表示正负