Имена в программах предназначены для того, чтобы обращаться к программным объектам и различать их, то есть идентифицировать. Поэтому имена также называют идентификаторами. В идентификаторе могут использоваться буквы, цифры и символ подчеркивания. Прописные и строчные буквы различаются, например, sysop, SySoP и SYSOP — три разных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Длина идентификатора не ограничена. Пробелы внутри имен не допускаются.
В идентификаторах С# разрешается использовать помимо латинских букв буквы национальных алфавитов. Например, Пёсик или ЁЁ являются правильными идентификаторами1. Более того, в идентификаторах можно применять даже так называемые escape-последовательности Unicode, то есть представлять символ с помощью его кода в шестнадцатеричном виде с префиксом \и, например, \u00F2.
Примеры неправильных имен: 21 ate, Big gig, Б#г; первое начинается с цифры, второе и третье содержат недопустимые символы (пробел и #).
Имена даются элементам программы, к которым требуется обращаться: переменным, типам, константам, методам, меткам и т. д. Идентификатор создается на этапе объявления переменной (метода, типа и т. п.), после этого его можно использовать в последующих операторах программы. При выборе идентификатора необходимо иметь в виду следующее:
§ идентификатор не должен совпадать с ключевыми словами (см. следующий раздел);
§ не рекомендуется начинать идентификаторы с двух символов подчеркивания, поскольку такие имена зарезервированы для служебного использования.
Для улучшения читабельности программы следует давать объектам осмысленные имена, составленные в соответствии с определенными правилами. Понятные и согласованные между собой имена — основа хорошего стиля программирования. Существует несколько видов так называемых нотаций — соглашений о правилах создания имен.
В нотации Паскаля каждое слово, составляющее идентификатор, начинается с прописной буквы, например, MaxLength, MyFuzzyShooshpanchik.
Венгерская нотация (ее предложил венгр по национальности, сотрудник компании Microsoft) отличается от предыдущей наличием префикса, соответствующего типу величины, например, iMaxLength, lpfnMyFuzzyShooshpanchik.
Согласно нотации Camel, с прописной буквы начинается каждое слово, составляющее идентификатор, кроме первого, например, maxLength, myFuzzyShooshpanchik. Человеку с богатой фантазией абрис имени может напоминать верблюда, откуда и произошло название этой нотации.
Еще одна традиция — разделять слова, составляющие имя, знаками подчеркивания: max_length, my_fuzzy_shooshpanchik, при этом все составные части начинаются со строчной буквы.
В С# для именования различных видов программных объектов чаще всего используются две нотации: Паскаля и Camel. Многобуквенные идентификаторы в примерах этой книги соответствуют рекомендациям, приведенным в спецификации языка. Кроме того, в примерах для краткости часто используются одно-буквенные имена. В реальных программах такие имена можно применять только в ограниченном наборе случаев.