C# 中?和??的用法

版权声明:本文为博主原创文章,欢迎转载注明出处 https://blog.csdn.net/only_yu_yy/article/details/79238296

最近在看官方的源码时,经常看到有

Int? sum;

 和

FileProvider = FileProvider ??builder.GetFileProvider();

一个问号:

很多数据类型时不允许为空的,比如int类型,在类型的后面加? 表示允许该数据为null

所以

Int? sum的含义时sum可以为int类型也可以为null

 两个问号:

两个数据中间有两个问号,含义是  问号的左边的数据类型为空吗?如果为空,那么返回问号右边的数据,如果不为空,就返回问号左边的数据

所以

FileProvider = FileProvider ??builder.GetFileProvider();

表示  FileProvider为空吗?如果为空,那么FileProvider=builder.GetFileProvider()否则FileProvider = FileProvider

意义和

FileProvider = FileProvider ==null?builder.GetFileProvider():FileProvider;

相同。

猜你喜欢

转载自blog.csdn.net/only_yu_yy/article/details/79238296