Вопрос

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

Всем привет,

У меня довольно простой вопрос, касающийся разных заявлений, если иначе.

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

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

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

Marko.

Это было полезно?

Решение

Не фокусируйтесь пишу Меньше кода ... Сосредоточиться на коде, который вы в конечном итоге, будучи больше удобочитаемый.

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

Это стоит помнить оператора NULL-Colescing тоже ... так что вместо:

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

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

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

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

Другие советы

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

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

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

Нет, ничего существенного. Я думаю, что это обычно скомпилируется к тому же IL ...

Так что в конце концов, вы должны основывать только ваш выбор на читабельность. Когда это более читаемо, чтобы написать полный, если / иначе, сделайте это. Если это очень простое тройное выражение, которое легко читать, пойти на него.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top