Полный оператор if / else против условного оператора

Возможные дубликаты:
Преимущества использования условного?: (Тройного) оператора
Является ли условный оператор медленным?

Всем привет,

У меня довольно простой вопрос относительно различных операторов if / else.

Помимо написания меньше кода, есть ли другие преимущества для использования условного оператора, а не для полного оператора if / else?

Увеличивается ли производительность, меньше скомпилированный код или что-то еще, что приносит мне пользу?

Ценю твою помощь

Marko

Не сосредотачивайтесь на написании меньше кода … сосредоточьтесь на коде, в котором вы закончите, будучи более читабельным .

Иногда утверждение if будет более читаемым. Иногда условный оператор будет более читабельным. Мне нравится условный оператор в тех случаях, когда он имеет смысл с точки зрения разных способов вычисления одного логического значения (например, скидки, основанного на возрасте клиента). Я не люблю использовать его запутанными способами – нет ничего плохого в использовании полного if / else, где это имеет смысл.

Стоит также вспомнить оператор с нулевым коалесцентом … поэтому вместо:

 string shipTo = customer.ShippingAddress != null ? customer.ShippingAddress : customer.BillingAddress; 

ты можешь использовать

 string shipTo = customer.ShippingAddress ?? customer.BillingAddress; 

Опять же, это полезно только в определенных ситуациях, но в тех случаях это действительно удобно.

Помимо написания меньше кода, существуют ли какие-либо другие преимущества для использования оператора Ternary, а не для полного оператора if / else?

Лучшая читаемость, в некоторых случаях … Я думаю, что все.

Есть ли увеличение производительности, меньше скомпилированный код или любое другое, что пригодилось бы мне при его использовании?

Нет, ничего значительного. Я думаю, что он, как правило, будет скомпилирован для того же ИЛ …

Поэтому в конечном итоге вы должны основывать свой выбор на читаемости. Когда это более читаемо, чтобы написать полный if / else, сделайте это. Если это очень простое трехмерное выражение, которое легко читать, пойдите для него.