Привет, неизвестный путник!

Добро пожаловать в документацию по языку C#.NStar! Здесь вы найдете информацию о его ключевых словах.

abstract
См. в разделе структура программы, блок "классы".

break
См. в разделе структура программы, блок "циклы".

catch
См. в описании try.

Class
См. в разделе структура программы, блок "классы".

const
Дает имя какому-либо неизменяемому значению, позволяя избегать "магических чисел" (строк и т. д.): const Tau = Pi * 2;. Можно также с указанием типа: const real Tau = Pi * 2;<.

Constructor
См. в разделе структура программы, блок "классы".

continue
См. в разделе структура программы, блок "циклы".

Delegate
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала. Об уже существующих делегатах см. в разделе операторы, блок "=>".

delete
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

Destructor
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

else
См. в разделе структура программы, блок "условия".

Enum
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

Event
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

Extent
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

false
См. в разделе логический тип данных, блок "литералы".

for
Объявляет цикл for:
for (i in sequence)
{
    action1;
    action2;
    action3;
    ...
};
Этот цикл проходит по всем элементам указанной последовательности, выполняя для каждого из них указанный набор действий. Последовательность должна быть либо совместима с интерфейсом IEnumerable, либо диапазоном.

Function
Объявляет функцию (или метод, если находится внутри типа), например, private null Function F(unsigned int n) { ... }. Подробнее см. в разделе структура программы, блок "фунцкии".

if
См. в разделе структура программы, блок "условия".

Interface
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

loop
Объявляет цикл loop: loop
{
    action1;
    action2;
    action3;
    ...
};
Этот цикл выполняет указанный набор действий "по кругу" потенциально бесконечно, пока не будет явно прерван ключевыми словами break или return.

Megaclass
Класс, содержащий более 16 методов. Подробнее см. в разделе стиль кода, блок "функции в классе".

multiconst
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

Namespace
См. здесь.

new
См. в разделе структура программы, блок "классы".

null
Пустой тип данных, содержащий единственное значение, которое называется также null, а также "значение по умолчанию" (пустое, недействительное, все элементы "занулены"): null Function F(string extra = null) { ... }. В отличие от большинства примитивных типов, не может быть переопределено.

Operator
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

out
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

params
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

private
Закрытый член типа, доступен только в пределах типа, в котором объявлен, недоступен даже в производных типах.

protected
Защищенный член типа, доступен только в пределах типа, в котором объявлен, и производных типов.

public
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

readonly
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

Record
Контекстное ключевое слово, объявляющее "запись" - чистую структуру данных - она имеет только свойства, совпадающие по именам и типам с параметрами, указанными в скобках после имени (скобки являются "маркером" контекста, в котором Record является ключевым словом - если вы их потеряете, транслятор даже не "подумает", что вы имели в виду запись, и выдаст множество случайных ошибок, но ни слова про записи), конструктор из этих параметров и стандартные методы Equals() и GetHashCode(), и не может иметь пользовательских методов, вследствие чего объявление записи завершается точкой с запятой, а не открывающей фигурной скобкой (у записи нет ядра!).

ref
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

repeat
Объявляет цикл repeat, который повторяется определенное количество раз: repeat (n) { ... }. Само это число вычисляется однократно.

return
См. в разделе структура программы, блок "фунцкии".

sealed
См. в разделе структура программы, блок "классы".

static
См. в разделе структура программы, блок "классы".

Struct
Объявляет структуру. Структура отличается от класса тем, что является типом значения, а не ссылочным. Подробнее здесь. У структуры нет производных, а сама структура может быть производной только от интерфейсов.

switch
Объявляет выражение switch:
var a = matchingExpression switch
{
    pattern1 => expression1,
    pattern2 => expression2,
    pattern3 => expression3,
    ...
    _ => elseExpression,
};
Запятая после последнего выражения при многострочном выражении switch обязательна. По поводу синтаксиса шаблонов (pattern) см. is. Оператор switch упразднен из-за неопределенного стиля выравнивания: операторы case размещать с отступом? - или без отступа? - или case с одним отступом, а действия внутри него еще с одним? А в нашем языке не приветствуется, чтобы каждый писал как хотел.

this
Конструкция в стиле this.x гарантирует, что будет произведено обращение к свойству класса, а не к локальной переменной, даже если она имеет такое же имя. Полезно, например, в конструкторах: this.property = property;

throw
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

true
См. в разделе логический тип данных, блок "литералы".

try
Контекстное ключевое слово, позволяющее перехватывать исключения:
try
{
    ...
}
catch (Exception1 ex) if (condition1)
{
    ...
}
catch (Exception2 ex) if (condition2)
{
    ...
}
catch (Exception3 ex) // Без условия
{
    ...
}
catch // Перехватывает все оставшиеся исключения
{
    ...
}
Исключение - это возникшая во время выполнения программы аномальная ситуация, например, вызов функции с некорректным параметром или обращение к свойству объекта, который равен null. Если исключение не перехватить, работа программы завершится с техническим крахом. В случае, если исключение возникло в блоке try или в функции, которая вызывается в этом блоке (но не в другом потоке!), поток выполнения "прыгает" в блок catch, удовлетворяющий типу исключения и условию. Доступны следующие формы блока catch: catch (Exception ex) if (condition), catch (Exception) if (condition), catch (ex) if (condition), catch (Exception ex), catch (Exception), catch (ex) и просто catch (последние два перехватывают все исключения), а также вообще без catch, только try - в этом случае перехватываются все исключения, поток выполнения выходит из блока try и идет к следующему за закрывающей фигурной скобкой действию. Фигурные скобки после заголовков блоков try и catch обязательны. Если что, catch также является ключевым словом лишь в контексте try.

using
Ключевое слово зарезервировано (назвать так идентификатор нельзя), но на момент написания этих строк не имеет функционала.

while
Объявляет цикл while:
while (condition)
{
    action1;
    action2;
    action3;
    ...
};
Этот цикл выполняет указанный набор действий "по кругу", пока условие не станет равным false. Если хотя бы один раз после выполнения набора действий условие равно false - цикл завершается. При этом условие не проверяется после каждой команды или как-то еще, только перед очередным выполнением всего блока - внутри блока оно может стать false, а затем снова true до завершения блока - цикл не прервется. Само условие вычисляется каждый раз перед очередным входом в блок, в отличие от циклов repeat и for, где заголовок вычисляется один раз.

Не являются ключевыми словами

Следующие конструкции имеют определенные признаки, делающие их похожими на ключевые слова, но они таковыми не являются и перечислены отдельно:

-Infty
Глобальная константа.

E
Глобальная константа.

Infty
Глобальная константа.

Pi
Глобальная константа.

Uncty
Глобальная константа.



Назад к индексу документации