Autor Beitrag
Stratego
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 25.06.11 22:52 
Hallo, bei dieser Anweisung:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
  string daytag;

            if (Gesamtall == 0)
            {
                daytag = "Sonntag";
            }

            else
                if (Gesamtall == 1)
                {
                    daytag = "Montag";
                }

                else
                    if (Gesamtall == 2)
                    {
                        daytag = "Dienstag";
                    }

                    else
                        if (Gesamtall == 3)
                        {
                            daytag = "Mittwoch";
                        }

                        else
                            if (Gesamtall == 4)
                            {
                                daytag = "Donnerstag";
                            }

                            else
                                if (Gesamtall == 5)
                                {
                                    daytag = "Freitag";
                                }
                               
                                else
                                    if (Gesamtall == 6)
                                    {
                                        daytag = "Samstag";
                                    }


            Console.WriteLine(" Der " + Tag + "." + Monthtry + "." + Jahrtry + Jahrend + " war ein " + daytag);



gibt es einen Error bei dem letzten daytag in der Ausgabe. Der Fehler heißt "Use of unassigned local variable 'daytag'" aber ich verstehe es nicht und würde gerne wissen was ich machen muss damit die Ausgabe läuft.

Vielen dank schonmal!

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 26.06.11 07:17 
Hallo und :welcome:

Es gibt bei dir keinen Fall, wenn ein anderer Wert vorliegt. Deshalb ist die Variable nicht unbedingt immer zugewiesen und das merkt der Compiler. Ob der Fall vorkommen kann, kann der Compiler nicht feststellen. Zudem könnte es bei dir ja auch einen Fehler geben, so dass die Variable doch einen anderen Wert als 0 bis 6 hat.

Es reicht also die Variable bei der Deklaration auch zu initialisieren oder ein else ohne Bedingung hinzuzufügen. Oder du machst es gleich so:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
            switch (Gesamtall)
            {
                case 0:
                    daytag = "Sonntag";
                    break;
                case 1:
                    daytag = "Montag";
                    break;
                case 2:
                    daytag = "Dienstag";
                    break;
                case 3:
                    daytag = "Mittwoch";
                    break;
                case 4:
                    daytag = "Donnerstag";
                    break;
                case 5:
                    daytag = "Freitag";
                    break;
                case 6:
                    daytag = "Samstag";
                    break;
                default:
                    daytag = "ungültiger Wert";
                    break;
            }