Есть ли более короткий способ написать это, если? - PullRequest
2 голосов
/ 20 февраля 2020

Эй, ребята, есть более короткий способ написать эту строку.

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

//jsonObject.ObjectID is int?

Можете ли вы использовать объединение нулей для проверки нуля и> 0?

Ответы [ 2 ]

7 голосов
/ 20 февраля 2020

Как-то так, в нем используются нулевые условные и отмененные операторы

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

Примечание : Предполагается, что defaultObject.ObjectID является int, а не int?

0 голосов
/ 20 февраля 2020
int objectID = jsonObject?.ObjectID.HasValue && jsonObject.ObjectID.Value > 0 ? jsonObject.ObjectID.Value : defaultObject.ObjectID;

...