2017-09-04 1 views
0

ich einen tenary Ausdruck in eine Interpolation eingefügt werden soll, wie folgt aus:C#: tenary Ausdrücke innerhalb Interpolation sind ungültig

var a = $"we have {true ? "a":"b"}"; 

Software in Kompilation verwendet:

XBuild Engine Version 14.0 
Mono, Version 5.2.0.215 

Und ich verwendet xbuild Cmc.sln (Cmc ist mein Lösungsname). Danach bekam ich einen Fehler (Zeile 44 ist der oben angegebene C# Code):

Expr/Expression.cs(44,13): error CS8076: Missing close delimiter '}' for interpolated expression started with '{'. 
Expr/Expression.cs(44,25): error CS1003: Syntax error, ':' expected 
Expr/Expression.cs(44,25): error CS1733: Expected expression 
Expr/Expression.cs(44,27): error CS1002: ; expected 
Expr/Expression.cs(44,28): error CS1002: ; expected 

Warum bekomme ich das? Ich denke mein Code ist gültig.

+0

Ja, es ist doppelt ... Aber ich gesucht 'C# tenary' und ich habe nicht Antwort. Also habe ich eine neue Frage gestellt ... Entschuldigung. – ice1000

Antwort

1

Versuchen:

$"we have {(true ? "a":"b")}"; 
+0

Wow, danke! Aber warum? Kennst du den Grund warum ich Fehler ohne Klammern bekommen habe? – ice1000

+0

Die Erklärungen in https://stackoverflow.com/questions/31844058/how-to-use-the-ternary-operator-inside-an-interpolated-string gelten –

+0

Ja, ich habe gerade gesehen, dass ... Aber trotzdem danke . – ice1000

Verwandte Themen