From the C# documentation it states that the @ symbol is an Identifier.
2.4.2 Identifiers
The prefix “@” enables the use of keywords as identifiers, which is useful when interfacing with other programming languages. The character @ is not actually part of the identifier, so the identifier might be seen in other languages as a normal identifier, without the prefix. An identifier with an @ prefix is called a verbatim identifier. Use of the @ prefix for identifiers that are not keywords is permitted, but strongly discouraged as a matter of style.
So what it really means is it allows you to sue reserved words.
For example
1 2 3 4 5 |
char @int = 'a'; int @class = 47; //and this will not work int class = 47; |
The other place using @ symbol is when defining strings with escape characters.
1 2 3 |
string str = "C:\\temp\\folder\\file.txt"; //one can use @ symbol string str = @"C:\temp\folder\file.txt"; |
Personally I would not suggest/recommend using the @ symbol as a variable name; naming something string @string just confuses the reader of your code.
Leave A Comment