C# префикс имен параметров с @ [дубликат]


Возможные Дубликаты:
что означает символ @ перед именем переменной в C#?

дублирую:

что означает символ @ перед именем переменной в C#?

иногда я вижу некоторый код C#, где метод-параметр имеет префикс@, например:

public static void SomeStaticMethod( SomeType @parameterName )
{
}

что это значит ? Имеет ли это какое-то значительное особое значение ?

Я создаю EventListener в NHibernate, и когда я позволю VS.NET сгенерируйте методы интерфейса, он генерирует метод OnPostLoad следующим образом:

    public class PostLoadEventListener : IPostLoadEventListener
    {
        public void OnPostLoad( PostLoadEvent @event )
        {

        }
    }

почему это ?

3   51  

3 ответа:

попробуйте сделать переменную с именем класс и посмотреть, что произойдет -- вы заметите, что вы получаете сообщение об ошибке.

Это позволяет использовать зарезервированные слова в качестве имен переменных.

несвязанные, вы также заметите строки с префиксом @ , а также -- это не одно и то же...

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

Это позволяет использовать "литеральное" значение строки, то есть вы можете иметь новые строки или символы без экранирования и т. д...

префикс @ позволяет использовать зарезервированные слова, такие как класс, интерфейс, события и т. д. В качестве имен переменных в C#. Так что вы можете сделать

int @int = 1

событие-это ключевое слово C#, @ - это escape-символ, который позволяет использовать ключевое слово в качестве имени переменной.