有没有更短的方法来编写这个内联 if?

Is there a shorter way to write this inline if?

嘿伙计们有没有更短的方式来写这行。

int objectID = jsonObject != null && jsonObject.ObjectID.HasValue && jsonObject.ObjectID.Value > 0 ? jsonObject.ObjectID.Value : defaultObject.ObjectID;

//jsonObject.ObjectID is int?

您可以使用空合并来检查 null 和 > 0 吗?

类似这样,它利用了 null conditionallifted 运算符

int objectID = jsonObject?.ObjectID > 0 ? jsonObject.ObjectID.Value : defaultObject.ObjectID;

注意 :这假设 defaultObject.ObjectIDint 而不是 int?

int objectID = jsonObject?.ObjectID.HasValue && jsonObject.ObjectID.Value > 0 ? jsonObject.ObjectID.Value : defaultObject.ObjectID;