Вопрос

Я облазил все трубки и не могу понять этого.Может быть, просто.

Следующее String.Format вызов:

return dt.ToString("MMM d yy 'at' H:mmm");

Правильно возвращает это:

23 сен 08 в 12:57

Теперь предположим, что я хочу добавить одну кавычку перед годом, чтобы вернуть это:

23 сен.

Поскольку одинарная кавычка является зарезервированным escape-символом, как мне избежать одинарной кавычки, чтобы она отображалась?

Я пробовал двойные, тройные и четверные одинарные кавычки, но безуспешно.

Это было полезно?

Решение

Вы можете избежать его, используя обратную косую черту, которую вам придется экранировать.Или

return dt.ToString(@"MMM d \'yy 'at' H:mmm");

или

return dt.ToString("MMM d \\'yy 'at' H:mmm");

Другие советы

Вы можете просто использовать объект HTML, если он предназначен для HTML.

-- Редактировать

'

-- Редактировать

Просто чтобы этот пост не был ошибочным, как уже заметили все остальные, экранирование работает нормально :)

string s = t.ToString("MMM d \\'yy 'at' H:mmm");

И это последний раз, когда я не тестирую что-то на основе того, кто публикует :)

Мне не нравятся строки C# @, если только мне действительно не нужно их использовать, поэтому я бы выбрал это.

return dt.ToString("MMM d \\'yy 'at' H:mmm");

Это просто предпочтение, которое вам легче «читать».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top