Kleine Fragen wie diese sind sehr einfach auf Online-Compiler wie Godbolt zu testen:
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);
}
resultierende Assembler:
test1(bool):
movzx eax, dil
ret
test2(bool):
movzx eax, dil
ret
test3(bool):
movzx eax, dil
ret
test4(bool):
movzx eax, dil
ret
so in der Realität, nein. Es ist nur eine Frage des Stils.
Beide werden das gleiche tun. – DimChtz
Nein, es gibt technisch keinen Unterschied, außer immer Variablen zu initialisieren (nicht notwendig in C# IIRC). –
Ergebnis ist dasselbe, aber jeder Unterschied in der Leistung oder irgendetwas anderes? –