The @ icon tells the compiler that the string is a literal string literal , and thus does not require any characters from you. Of course, not just the backslash. No escape sequences are processed by the compiler.
Whether this is βbetterβ or not is a very difficult question to answer. This is a purely stylistic choice. Some may argue that the contents of a string are more readable when you use a string literal, instead of avoiding all characters. Others may prefer consistency when all strings containing characters that usually require escaping should be escaped. This makes it easy to spot errors in the code. (For what it costs, I fall into the last camp. All my paths have \\ .)
This, as they say, is extremely convenient for regular expressions, for which you could otherwise run everywhere. And since they are not very similar to regular strings, there is minimal risk of confusion.
source share