Я обнаружил, что вы можете начать имя вашей переменной с символа '@' в C #. В моем проекте на C # я использовал веб-сервис (я добавил веб-ссылку на мой проект), который был написан на Java. Один из интерфейсных объектов, определенных в WSDL, имел переменную-член с именем «params». Очевидно, это зарезервированное слово в C #, поэтому вы не можете иметь класс с переменной-членом с именем «params». Созданный прокси-объект содержал свойство, которое выглядело так:
public ArrayList @params {
get { return this.paramsField; }
set { this.paramsField = value; }
}
Я искал документацию по VS 2008 c #, но ничего не смог найти. Также поиск в Google не дал мне никаких полезных ответов. Так, каково точное значение или использование символа '@' в имени переменной / свойства?
источник
@
?@
символ, как это делает спецификация языка C #. Он поддерживал это начиная с первой версии C # 1.0 (выпущенной с .NET 1.0). csharpindepth.com/articles/chapter1/Specifications.aspx[ ]
для указания дословного идентификатора, напримерDim [String] As String
.Это просто позволяет вам использовать зарезервированное слово в качестве имени переменной. Не рекомендуется ИМХО (за исключением случаев, как у вас).
источник
yield
ключевое слово не является зарезервированным словом, и его можно использовать только в тех случаях, когда ни один идентификатор не может появиться на законных основаниях . Одна из целей при разработке новых функций для C # состоит в том, чтобы сконструировать их таким образом, чтобы любая программа, которая была бы законной до добавления новой функции, впоследствии будет легальной и будет иметь то же значение .@Html.TextboxFor( , , , new { @class="my-css-class" } )
хороший пример, когда вы не можете обойти это без необходимости вручную писать HTML или javascript изменить атрибуты на более позднем этапе.В C # символ at (@) используется для обозначения литералов, которые явно не придерживаются соответствующих правил в спецификации языка.
В частности, его можно использовать для имен переменных, которые конфликтуют с зарезервированными ключевыми словами (например, вы не можете использовать params, но вместо этого можете использовать @params, то же самое с out / ref / любым другим ключевым словом в спецификации языка). Кроме того, он может использоваться для неэкранированных строковых литералов; это особенно актуально для констант пути, например, вместо
path = "c:\\temp\\somefile.txt"
вас можно писатьpath = @"c:\temp\somefile.txt"
. Это также очень полезно для регулярных выражений.источник
В отличие от сигил Perl,
@
префикс перед именем переменной в C # не имеет значения. Еслиx
это переменная,@x
это другое имя для той же переменной.Но у
@
префикса есть применение , как вы обнаружили - вы можете использовать его для уточнения имен переменных, которые C # иначе отклонил бы как недопустимые.источник
@
Символ позволяет использовать зарезервированные ключевые слова для имени переменной. как@int
,@string
, и@double
т.д.Например:
Приведенный выше код работает нормально, но ниже не будет работать:
источник
Это просто позволяет вам использовать зарезервированные слова в качестве имен переменных. Я хотел, чтобы вар назвали
event
на днях. Я собирался пойти_event
вместо этого, но мой коллега напомнил мне, что я мог бы просто позвонить@event
вместо этого.источник
Другим вариантом использования являются методы расширения. Первый, специальный параметр можно различить, чтобы обозначить его реальное значение
@this
именем. Пример:источник
Если мы используем ключевое слово в качестве имени для идентификатора, мы получим ошибку компилятора «идентификатор ожидается,« Имя идентификатора »является ключевым словом». Чтобы преодолеть эту ошибку, добавьте к @ префикс идентификатора. Такие идентификаторы являются дословными идентификаторами. Символ @ на самом деле не является частью идентификатора, поэтому идентификатор может рассматриваться на других языках как обычный идентификатор без префикса
источник
Вы можете использовать его, чтобы использовать зарезервированные ключевые слова в качестве имени переменной, как
компилятор игнорирует
@
и компилирует переменную какint
не принято использовать мысли
источник