C#的int类型?,??,~的意思,string类型空值赋值

今天刚学习了值类型int的不常见操作:

1,int?代表可空,虽然int是值类型,但也可以像string一样赋空

  int? kong=null;//赋空

2,int??代表查询是否可空并赋值,注意至针对可空类型,其余正常定义的int??会报错

  kong??=1;//如果空就赋值为1,如果不为空不执行、

3.~int代表将数值取反,得到负数减一的值

  int a=~(123);//a=-124

  int b=~a;//b=123

  所以~int可以理解为获取到乘负一减一的值

4.string类型如果为空就赋值  

  string a=null;

  string b=aaa ?? "";