- 1
ViewState["Action"] = result.client == "merchantName" ? false : true;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+145.4
ViewState["Action"] = result.client == "merchantName" ? false : true;
ViewState["Action"] = result.client != "merchantName";
было бы вполне достаточно. Да и менше путаницы при чтении кода.
не часто - но в некоторых местах где куча логики мне это реально помогает.
Байткод в шарпе - рофлмао
Майкрософт любит свои понятия придумывать по жизни и плевать на существующие. Не байткод, с*ка, а "промежуточный язык". Не library, с*ка, а assembly. В ООП уже было понятия делегата, но МС наплевали на это и так обозвали лямбды. ит. д.
мсил в итоге вышел примерно такой:
1) сравнить
2) если true, перейти к п. 5
3) поставить на стек true
4) возвратить
5) поставить на стек false
6) возвратить
но на уровне джиттинга весьма вероятна оптимизация (байткод намеренно делается неоптимизированным, чтобы легче было джиттить, наверное).
мне кажется так вернее
ViewState["Action"] = strcmp(result.client,"merchantName") ? true: false;
Но в шарпе можно и перегрузить оператор true:
ни потом юзается так
Вот уж где говнокод при чем на уровне спецификации шарпа