我正在为属性赋值属性但是属性值可能为null,我需要适应这个,目前我按以下方式处理:
int position;
if (record.Number != null) position = record.Number;
有没有办法执行相同的操作而无需两次调用对象?感谢
答案 0 :(得分:3)
您可以使用nullable int
int? position = record.Number;
然后在您需要使用它时检查position == null
或position.HasValue
..
答案 1 :(得分:3)
如果position
有默认值,您可以使用null-coalescing运算符或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);