Эта строка используется в регулярное выражение
Регулярные выражения делают интенсивное использование \
характера. Например, следующее регулярное выражение, чтобы соответствовать precentages из 0
в 100
, что всегда есть четыре знака после запятой:
^(100\.0000|[1-9]?\d\.\d{4})$
Поскольку \
должен быть экранированы в более общей C# синтаксис для \\
@""
форма позволяет регулярное выражение, чтобы быть более легко читать, сравнивать:
"^(100\\.0000|[1-9]?\\d\\.\\d{4})$"
@"^(100\.0000|[1-9]?\d\.\d{4})$"
И по этой причине люди часто попадают в привычку использовать @""
формы, когда они используют регулярные выражения, даже в тех случаях, когда это не имеет никакого диффере се. Во-первых, если они потом перейдут на что-то, что имеет значение только для изменения выражения, а не для кода самой строки.
Я бы предположил, что это вероятно, почему ваш коллега использовал @""
, а не ""
в данном конкретном случае. Производимые .NET одинаковы, но они используются для использования @""
с регулярными выражениями.
Почему бы просто не попробовать сравнить два кода. – Paparazzi
В отладчике нет разницы, я задавался вопросом о любых других различиях, которые потенциально могут носить более теоретический характер. – FiringSquadWitness
@Blam Это не всегда так просто ... например. попробуйте это «decimal x = 0.0m; десятичный y = 0,00m; Console.Write ("{0}, {1}, {2}", x, y, x == y); ' – DavidG