Dziwne zachowanie przypadku przełącznika z wartością boolowską
Moje pytanie nie dotyczy tego, jak rozwiązać ten błąd (już go rozwiązałem), ale dlaczego ten błąd ma wartość logiczną.
Moja funkcja to
private string NumberToString(int number, bool flag)
{
string str;
switch(flag)
{
case true:
str = number.ToString("00");
break;
case false:
str = number.ToString("0000");
break;
}
return str;
}
Błąd jestUse of unassigned local variable 'str'
. Bool może przyjąć prawdę lub fałsz. Więc będzie zaludniaćstr
W obu przypadkach. Więc dlaczego ten błąd?
Ponadto ten błąd zniknął, jeśli wraz z prawdziwym i fałszywym przypadkiem dodamdefault
sprawa, ale wciąż co może trzymać bool oprócz prawdy i fałszu?
Dlaczego to dziwne zachowanie ze zmienną bool?