С# префиксные имена параметров с помощью @ - программирование
Подтвердить что ты не робот

С# префиксные имена параметров с помощью @

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

Duplicate:

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

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

public static void SomeStaticMethod( SomeType @parameterName )
{
}

В чем смысл этого? Имеет ли он какое-то важное значение?

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

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

        }
    }

Почему это?

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

int @int = 1

Ответ 3

Событие

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