asp.net core C# 操作符?和??以及?:详细实例

?:为三元操作符,条件操作符是向右关联的,从左到右进行计算,于是a?b:c?d:e 应理解为 a?b:(c?d:e)。
如返回X,y中最大值,可以用下面的
x>y ? x : y;

??操作符判断是否为空
假设进行分页处理,有时page会为空,为空时设置某个值
public IActionResult Index(int? page)
{
page=page ?? 1;
}

?(单问号)修饰符,是System.Nullable的缩写形式,比如int?代表是可空的整形,
例如:int? a = 1 或者 int? b=null。Nullable类型具有一个HasValue的bool类型只读属性,
当Nullable类型实例的该属性为true时,则表示该实例是非空实例,包含一个已知值Value,
HasValue为false时,访问Value属性将导致System.InvalidOperationException。

可以这样访问 a?.value,这样就避免为空导致异常

声明:本站内容来源于原创和互联网,尊重作者版权,转载请注明来源网址,欢迎收藏,谢谢!