JirkaDellOro / Softwaredesign

Modul "Softwaredesign": Lektionen und Übungsaufgaben
12 stars 12 forks source link

L02Switch Statement enforces break in C#? #19

Open DanielWagnerHFU opened 5 years ago

DanielWagnerHFU commented 5 years ago

My C# doesnt allow to "drop through" the switch cases as in C++. I dont think C# allows switch cases without break (maybe when using return in the case?). The Text for L02 seems to be wrong at this point. I recommand rewriting the part about switch statements a bit.

griestopf commented 5 years ago

You are right, switch/case fallthrough in C# is different compared to C++, although it's not completely impossible - See here.

I agree adjusting the lesson 02 readme.

JirkaDellOro commented 5 years ago

Dieser Teil ist lediglich das TODO:

Was passiert, wenn man an einer Stelle das break vergisst? Denkt euch Fälle aus, bei denen das sinnvoll sein kann.

Die Antwort ist: es gibt einen Compilerfehler und sinnvoll ist das nie.

Ich würde dann den Fallthrough als eigenen Text kurz besprechen sowie die Möglichkeit, einen solchen mit goto in C# ebenfalls konstruieren zu können. Es gibt auch andere Programmiersprachen, in denen er, wenn auch durch einfaches Weglassen von break, möglich ist und auch verwendet wird. Die Frage nach dem Sinn kann ich dann immer noch stellen.