Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yazyk_C_i_osnovy_platformy_NET.docx
Скачиваний:
16
Добавлен:
11.05.2015
Размер:
198.13 Кб
Скачать

4. Идентификаторы, ключевые слова и литералы

Идентификатор– это пользовательское имя для переменной, константы, метода или типа. В C# идентификатор – это произвольная последовательность букв, цифр и символов подчёркивания, начинающаяся с буквы, символа подчёркивания, либо символа@. При записи идентификатора допустимо использовать четыре шестнадцатеричных цифры кода UTF-16 с префиксом\u.

Идентификатор должен быть уникальным внутри области видимости. Он не может совпадать с ключевым словом языка, за исключением того случая, когда используется специальный префикс @(не являющийся частью идентификатора). Примеры допустимых идентификаторов:Temp,_variable,_(символ подчёркивания),@class(используется префикс@, так какclass– ключевое слово),cl\u0061ss(применяется код UTF-16 для символаa, этот идентификатор совпадает с идентификатором@class).

Ключевые слова– это предварительно определённые зарезервированные идентификаторы, имеющие специальные значения для компилятора. Ключевые слова нельзя использовать в программе в качестве идентификаторов. Далее приведены два списка. В первом перечислены ключевые слова, являющиеся зарезервированными идентификаторами в любой части программы C#.

abstract as base bool break

byte case catch char checked

class const continue decimal default

delegate do double else enum

event explicit extern false finally

fixed float for foreach goto

if implicit in int interface

internal is lock long namespace

new null object operator out

override params private protected public

readonly ref return sbyte sealed

short sizeof stackalloc static string

struct switch this throw true

try typeof uint ulong unchecked

unsafe ushort using virtual void

volatile while

Во втором списке перечислены контекстные ключевые слова. Они имеют особое значение только в ограниченном программном контексте и могут использоваться в качестве идентификаторов за пределами этого контекста, хотя так поступать не рекомендуется.

add alias ascending assembly by

descending dynamic equals field from

get global group into join

let method module on orderby

param partial property remove select

set type typevar value var

where yield

Литерал– это последовательность символов, которая может интерпретироваться как значение определённого типа. Так как C# является языком со строгой типизацией, часто необходимо явно указать, к какому типу относится последовательность символов, описывающая данные.

Рассмотрим правила записи некоторых литералов. Для ссылочных типов определён литерал null, который указывает на неинициализированную ссылку. В языке C# два булевых литерала:trueиfalse. Целочисленные литералы могут быть записаны в десятичной или шестнадцатеричной форме. Признаком шестнадцатеричного литерала является префикс0x(или0X). Конкретный тип целочисленного литерала определяется следующим образом:

– Если литерал не имеет суффикса, то его тип – это первый из типов int,uint,long,ulong, который способен вместить значение литерала.

– Если литерал имеет суффикс Uилиu, его тип – это первый из типовuint,ulong, который способен вместить значение литерала.

– Если литерал имеет суффикс Lилиl, то его тип – это первый из типовlong,ulong, который способен вместить значение литерала1.

– Если литерал имеет суффикс UL,Ul,uL,ul,LU,Lu,lU,lu, его тип –ulong.

Если в числе с десятичной точкой не указан суффикс, то подразумевается тип double. Суффиксf(илиF) используется для указания на типfloat, суффиксd(илиD) используется для явного указания на типdouble, суффиксm(илиM) определяет литерал типаdecimal. Число с плавающей точкой может быть записано в научном формате:3.5E-6,-7e10,.6E+7.

Символьный литерал записывают в одинарных кавычках. Обычно это единичный символ (например, 'a'). Допустимо указать четыре шестнадцатеричных цифры кода UTF-16 с префиксом\u('\u005C'– это символ'\'). Можно использовать префикс\xине болеечетырёх шестнадцатеричных цифр кода UTF-16 ('\x5c'– это тоже символ'\'). Кроме этого, для представления некоторых специальных символов используются следующие пары:

\'– одинарная кавычка\f– новая страница

\"– двойная кавычка\n– новая строка

\\– обратная косая черта\r– возврат каретки

\0– символ с кодом ноль\t– горизонтальная табуляция

\a– звуковой сигнал\v– вертикальная табуляция

\b– забой

Для строковых литералов в языке C# существуют две формы. Обычно строковый литерал записывается как последовательность символов в двойных кавычках. Среди символов строки могут быть и управляющие последовательности ("This is a \t tabbed string").Дословная форма(verbatim form) строкового литерала – это запись строки в кавычках с использованием префикса@(@"There is \t no tab"). В этом случае управляющие последовательности воспринимаются как обычные пары символов. Дословная форма может занимать несколько строк.