C# prefixing parameter names with @

c#

Solution

Try and make a variable named class and see what happens -- You'll notice you get an error.

This lets you used reserved words as variable names.

Unrelated, you'll also notice strings prefixed with @ as well -- This isn't the same thing...

string says = @"He said ""This literal string lets me use \ normally 
    and even line breaks"".";

This allows you to use 'literal' value of the string, meaning you can have new lines or characters without escapes, etc...

Problem

Possible Duplicate: What does the @ symbol before a variable name mean in C#? Duplicate: What does the @ symbol before a variable name mean in C#? Sometimes I see some C# code where a method-parameter is prefixed with an @, like this: ``` public static void SomeStaticMethod( SomeType @parameterName ) { } ``` What is the meaning of this ? Does it has some significant special meaning ? I am creating an EventListener in NHibernate, and when I let VS.NET generate the interface methods, it generates the OnPostLoad method like this: ``` public class PostLoadEventListener : IPostLoadEventListener { public void OnPostLoad( PostLoadEvent @event ) { } } ``` Why is this ?

Original source

Related problems