Dzień dobry wszystkim, jestem kompletnie początkujący w programowaniu i przy przeglądaniu jednego z dostępnych w internecie kursów naszło mnie pewne pytanie (dodam, że w owym kursie nie znalazłem odpowiedzi).
Weźmy taki prosty program konsolowy:
W powyższym przykładzie wszystko działa poprawnie, jednak jeśli w deklaracji zmiennej "wynik" zrezygnujemy z przypisania jej wartości "0" (lub innej dowolnej) wtedy cały program przestaje działać. Visual Studio 2013 wskazuje błąd przy wywołaniu metody Console.WriteLine i wypisaniu wartości zmiennej 'wynik' jako "Use of unassigned local variable 'wynik'". I tutaj jest moje pytanie - dlaczego tak się dzieje? Przecież zanim program dojdzie do metody Console.WriteLine zmienna "wynik" powinna mieć już przypisaną wartość pobraną od użytkownika?
Przepraszam za prawdopodobnie głupie pytanie ale nigdzie nie znalazłem odpowiedzi (nie wykluczone że po prostu nie umiałem jej znaleźć).
Pozdrawiam
Weźmy taki prosty program konsolowy:
Kod:
class KlasaGlowna
{
static void Main()
{
string x;
string y;
string dzialanie;
double wynik = 0;
System.Console.WriteLine("Podaj pierwszą liczbę.");
x = System.Console.ReadLine();
System.Console.WriteLine("Podaj drugą liczbę.");
y = System.Console.ReadLine();
System.Console.WriteLine("Wybierz działanie:");
System.Console.WriteLine("1-Mnożenie, 2-Dzielenie, 3-Dodawanie, 4-Odejmowanie");
dzialanie = System.Console.ReadLine();
if(dzialanie == "1")
{
wynik = double.Parse(x) * double.Parse(y);
}
if(dzialanie == "2")
{
wynik = double.Parse(x) / double.Parse(y);
}
if(dzialanie == "3")
{
wynik = double.Parse(x) + double.Parse(y);
}
if(dzialanie == "4")
{
wynik = double.Parse(x) - double.Parse(y);
}
System.Console.WriteLine("Wynik wynosi: " + wynik);
System.Console.ReadLine();
}
}
Przepraszam za prawdopodobnie głupie pytanie ale nigdzie nie znalazłem odpowiedzi (nie wykluczone że po prostu nie umiałem jej znaleźć).
Pozdrawiam