Это вопрос не из необходимости, а из чистого любопытства. Я еще совсем новичок и в процессе работы встретил интересное использование тернарного оператора. Для контекста вопроса добавлю, что код был в сервисе веб API бэка:
//некий условный класс Модели
pulic class someModel
{
public Guid Id { get; set; }
public int someField { get; set; }
//...
}
//код из сервиса:
someClass someInstance = await _context.someField.FirstOrDefaultAsync(e => id == 1); //условное обращение к бд
int someVariable = 15;
someVariable = someInstance is null ? someVariable : (someInstance.someField <= 0 ? someVariable : someInstance.someField);
Здесь, как я понял, логика такова, что модель могда не найтись, а значение свойста могло быть пустым. И после этого появились вопросы: "При присвоении переменной своего же значения будет ли игнорировать его компилятор? Было бы лучше заменить тернарный оператор If esle конструкциями?". В интернете ответа найти, к сожалению, не получилось.