Wenn ich eine switch-Anweisung verwende, um Werte aus einer Aufzählung (die meiner Klasse gehört) zu verarbeiten, und für jeden möglichen Wert eine Groß- / Kleinschreibung habe, lohnt es sich, Code hinzuzufügen, um den "Standard" -Fall zu behandeln?
enum MyEnum
{
MyFoo,
MyBar,
MyBat
}
MyEnum myEnum = GetMyEnum();
switch (myEnum)
{
case MyFoo:
DoFoo();
break;
case MyBar:
DoBar();
break;
case MyBat:
DoBat();
break;
default:
Log("Unexpected value");
throw new ArgumentException()
}
Ich glaube nicht, dass dies daran liegt, dass dieser Code niemals erreicht werden kann (selbst bei Unit-Tests). Mein Kollege ist anderer Meinung und glaubt, dass dies uns vor unerwartetem Verhalten schützt, das durch das Hinzufügen neuer Werte zu MyEnum verursacht wird.
Was sagst du, Gemeinde?
MyEnum
passiert, wenn jemand einen ungültigen Wert überträgt, um ihn dann über Ihren Switch weiterzuleiten?
switch
Anweisung vollständig entfernt wird.