Échappement à des citations dans la nouvelle syntaxe de chaîne C # 6

Je suis vraiment enthousiasmé par les nouvelles fonctionnalités de C # 6, y compris la nouvelle syntaxe de chaîne:

var fullName = $"My Name is {FirstName} {LastName}"; 

Cependant, je ne peux pas comprendre comment échapper des guillemets à l’intérieur des accolades pour faire ce qui suit:

 bool includePrefix = true; var fullName = $"My name is {includePrefix ? "Mr. " : ""}{FirstName} {LastName}"; 

C # 6 n’aime pas ça. J’ai dû revenir à l’utilisation de Ssortingng.Format dans ce second cas. Est-il possible d’échapper aux guillemets en utilisant la nouvelle syntaxe?

Mise à jour: Oui, j’ai essayé d’utiliser le \ escape, mais ce n’est pas reconnu.

enroulez votre logique entre parenthèses, entre crochets:

 var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}"; 

Pour échapper aux guillemets, vous devez utiliser une barre oblique (c.-à-d. \" ).

Cependant, ce n’est pas le problème ici, car vous n’avez pas besoin de vous échapper, vous ne faites que manquer de parenthèses au-dessus de l’expression.

Cela marche:

 bool includePrefix = true; var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";