Знак @
указывает компилятору, что строка является буквальным строковым литералом и, следовательно, не требует экранирования каких-либо символов.Не только обратная косая черта, конечно.Компилятор не обрабатывает escape-последовательности любого вида.
Вопрос «лучше» или нет - очень сложный вопрос.Это чисто стилистический выбор.Некоторые могут утверждать, что содержимое строки более читаемо , когда вы используете строковый литерал, а не экранируете все символы.Другие могут предпочесть консистентность , где все строки, содержащие символы, которые обычно требуют экранирования, должны быть экранированы.Это позволяет сразу заметить ошибки в коде.(Для чего бы это ни стоило, я попадаю в последний лагерь. Все мои пути имеют \\
.)
Как говорится, чрезвычайно удобно для регулярных выражений, для которых вы быв противном случае сбежать повсюду.А поскольку они не очень похожи на обычные строки, риск путаницы минимален.