将可能为null的属性赋值给变量,而无需两次访问属性
本文关键字:属性 访问 两次 变量 null 赋值 | 更新日期: 2023-09-27 18:17:41
我正在分配一个属性值给一个属性,但是属性值可能是空的,我需要适应这一点,目前我以以下方式处理:
int position;
if (record.Number != null) position = record.Number;
是否有一种方法可以执行相同的操作而不必调用对象两次?由于
如果position
有默认值,则可以使用空合并运算符或Nullable<T>.GetValueOrDefault
int position = record.Number ?? defaultValue;
//or
int position = record.Number.GetValueOrDefault(defaultValue);
否则,如果position
已经具有值,则可以使用position
作为右侧操作数,使其保持原来的方式。
int position = record.Number ?? position;
//or
int position = record.Number.GetValueOrDefault(position);
可以使用可空的int
int? position = record.Number;
然后检查position == null
或position.HasValue
当你需要使用它的值…