我有一位同事以这种方式使用三元运算符(在javascript中):
var genderLabel = '';
isMale? genderLabel = 'Man' : genderLabel = 'Woman';
在C#中,我就是这样做的。
var genderLabel = isMale? "Man" : "Woman";
我的同事说这是一个javascript编码约定......是真的吗?我不是javascript专家而且我不喜欢那种语言...当我查看代码时,我专注于我的左手边来跟随变量初始化或赋值,这种风格迫使我阅读整行。
我也在维护前雇员的Java代码,他以同样的方式使用三元运算符。这是反模式吗?我认为编译器应该不允许它在if语句中被禁止的方式:
if(x = 2)
{
...
}
这不会在C#中编译。