Wenn ich einen Doppelpunkt ":" in meinem String Switch Case-Anweisung verwenden möchte, bekomme ich den Fehler "nicht abgeschlossen String-Literal", wie kann ich beheben Dies und warum gibt es den Fehler?String wechseln in Razor Markup mit Doppelpunkt in Case-Anweisung verursacht Fehler "nicht abgeschlossen String-Literal"
Code:
@switch (stringText)
{
case "aaaa:ggg":
Do something...
break;
case "bbbb:ggg":
Do something else...
break;
}
Wenn es fest, indem Sie diese es aber nicht, eine gute Lösung finden:
const string extra = ":ggg";
@switch (stringText)
{
case "aaaa" + extra:
Do something...
break;
case "bbbb" + extra:
Do something else...
break;
}
EDIT: MVC Razor-Syntax verwendet
Welche Compiler? (Es funktioniert gut in LINQPad; also überprüfen Sie die Umgebung.) –
Ist dies eine Razor-Vorlage? Es könnte ein Fehler im Template-Parser sein ... –
Sie können versuchen, das @ -Zeichen vor den Strings zu verwenden, wie case @ "aaaa: ggg": – Maarten