c# ?的用法

1、可空类型修饰符(?),

如: int? x = null;//可空类型默认值都是null,而值类型如int默认值为0、bool默认值为false等

int? x = 3; //等同于Nullable<int> x = new Nullable<int>(3)

 

bool? result = true;

注意:

int i; //默认值0
int? ii; //默认值null

 

2、三元运算符(? :),

如:bool f=false; return f==true?1:0;如果f为true则返回1,否则返回0

3、 空合并运算符(??)

如:a??b 当a为null时则返回b,a不为null时则返回a本身

“a??b??c”的形式按“a??(b??c)”计算

Null 合并运算符用于定义可空类型和引用类型的默认值。Null 合并运算符为类型转换定义了一个预设值,以防可空类型的值为 Null。

Null 合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数的类型。

 

4、NULL检查运算符(?.)

fileInfo?.Close() 当fileInfo不为null是执行Close方法

DateTime? birthday= personList?.FirstOrDefault()?.Birthday;

 
posted @ 2023-01-16 13:11  unicornsir  阅读(155)  评论(0编辑  收藏  举报