3 uses of the @ Symbol in c#

1. You can use one of the reserved words of c# with the @ symbol

Eg :

string @int = "senthil kumar";

or something like this

string @class ="MCA";

Although you can use this , avoid using one.

2. Before a string specially when using the file paths .

You can use

string filepath = @"D:\SENTHIL-DATA\myprofile.txt";

instead of

string filepath = "D:\\SENTHIL-DATA\\myprofile.txt";

3. For a Multi lined text

string ThreeIdiots = @"Senthil Kumar,
Norton Stanley,
and Pavan Rao!";

MessageBox.Show(ThreeIdiots);

instead of

string ThreeIdiots = @"Senthil Kumar,\n   Norton Stanley,and Pavan Rao!";

This is what the c# Language specification states about the @ Symbol

“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.”

Interesting symbol isn’t it ??

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

9 Comments on this article. Feel free to join this conversation.

  1. Joe Enos January 25, 2011 at 11:45 am - Reply

    #2 and #3 are the same thing – using the verbatim string syntax allows assigning strings that are exactly as written, including backslashes and line breaks.

    Also, assuming you’re on Windows (not Mono), the line break in your example is likely rn, not just n.

  2. Chad Moran January 26, 2011 at 1:35 am - Reply

    That’s more like 2 since 2 and 3 are the same thing (verbatim string literal). Though they are very nifty to know!

    • Senthil Kumar January 26, 2011 at 9:45 am - Reply

      yes chad , you are right to an extent ..

  3. Robert January 26, 2011 at 2:06 am - Reply

    The @ symbol is now also used in the Razor View engine for ASP.NET

    • Senthil Kumar January 26, 2011 at 9:44 am - Reply

      @Robert . Thanks for the info . Can u let me know whet exactly it does in the Razor View Engine ?

      • Bill Door January 26, 2011 at 5:34 pm - Reply

        the @ character denotes the start of a code block in .cshtml files.

        • Senthil Kumar January 26, 2011 at 10:07 pm - Reply

          Hey Bill .. Thats interesting piece of info . Thanks

Leave A Response