Маленькие вопросы, как это очень легко проверить на интернет-трансляторов, таких как godbolt:
int test1(bool someCondition)
{
int x = 0;
if(someCondition)
{
x = 1;
}
return x;
}
int test2(bool someCondition)
{
int x;
if(someCondition)
{
x = 1;
}
else
{
x = 0;
}
return x;
}
int test3(bool someCondition)
{
return someCondition ? 1 : 0;
}
int test4(bool someCondition)
{
return int(someCondition);
}
в результате ассемблере:
test1(bool):
movzx eax, dil
ret
test2(bool):
movzx eax, dil
ret
test3(bool):
movzx eax, dil
ret
test4(bool):
movzx eax, dil
ret
поэтому в действительности, нет. Это просто вопрос стиля.
Оба будут делать то же самое. – DimChtz
Нет никакой технической разницы, кроме того, всегда желательно инициализировать переменные (не обязательно в C# IIRC). –
Результат такой же, но какая разница в производительности или что-то еще? –