Полное, если / else email vs. Условный оператор [дубликат
-
26-09-2019 - |
Вопрос
Возможные дубликаты:
Преимущества использования условного?: (Тройной) оператор
Условный оператор медленнее?
Всем привет,
У меня довольно простой вопрос, касающийся разных заявлений, если иначе.
Помимо написания меньшего количества кода, есть ли другие преимущества для использования условного оператора, в отличие от полной оператора, если / 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 ...
Так что в конце концов, вы должны основывать только ваш выбор на читабельность. Когда это более читаемо, чтобы написать полный, если / иначе, сделайте это. Если это очень простое тройное выражение, которое легко читать, пойти на него.