Ответ 1
оберните свою логику в круглые скобки, внутри скобок:
var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";
Я очень рад новым функциям в С# 6, включая новый синтаксис строки:
var fullName = $"My Name is {FirstName} {LastName}";
Однако я не могу понять, как избежать котировок внутри фигурных скобок, чтобы выполнить следующее:
bool includePrefix = true;
var fullName = $"My name is {includePrefix ? "Mr. " : ""}{FirstName} {LastName}";
С# 6 это не нравится. Мне пришлось вернуться к использованию String.Format
во втором случае. Можно ли избежать кавычек с использованием нового синтаксиса?
Обновление: Да, я попытался использовать \
escape, но он не распознается.
оберните свою логику в круглые скобки, внутри скобок:
var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";
Чтобы избежать кавычек, вам нужно использовать косую черту (т.е. \"
).
Однако это не проблема здесь, так как вам не нужно бежать, вы просто пропускаете круглые скобки над выражением.
Это работает:
bool includePrefix = true;
var fullName = $"My name is {(includePrefix ? "Mr. " : "")}{FirstName} {LastName}";