Просто, чтобы добавить к ответам всех остальных, обратите внимание, что в ...
condition ? trueResult : falseResult
... только condition
и trueResult
или falseResult
(но не оба) будут оцениваться,Это позволяет писать код, подобный этому ...
string name = user == null ? "<nobody>" : user.Name;
... без риска выброса NullReferenceException
, поскольку user.Name
будет оцениваться, только если user
не- null
.Сравните это поведение с If
оператором VB.NET и IIf
function .