- •Алфавит
- •Комментарии
- •Идентификаторы
- •Ключевые слова
- •Переменные и константы
- •Пространства имен
- •Main() и аргументы командной строки
- •Операторы
- •Основные операторы
- •Унарные операторы
- •Аддитивные операторы
- •Мультипликативные операторы
- •Операторы сдвига
- •Операторы отношений
- •Операторы присваивания
- •Арифметическое переполнение
- •Математические операции
- •Литералы
- •Описание
- •Структуры
- •Инкапсуляция
- •Наследование
- •Полиморфиэм
- •Конструкторы
- •Деструкторы
- •Интерфейсы
- •Делегаты
- •Типы значений
- •Ссылочные типы
- •Тип dynamic
- •Тип object
- •Тип string
- •Встроенные базовые типы
- •Типы чисел
- •Типы целых чисел
- •Типы чисел с плавающей запятой
- •Значения типов по умолчанию
- •Преобразования типов
- •Стандартное форматирование чисел
- •Задание типов в объявлениях переменных
- •Инструкции, введение
- •Выражения
- •Разделители
- •Базовые алгоритмические структуры
- •Решения и ветвления
- •Безусловный переход вызовом функций
- •Ветвление if; else
- •Вложенные ветвления if; else
- •Выбор switch; case
Алфавит
Алфавит (или множество литер) языка программирования С# составляют символы таблицы кодов unicod. Алфавит С# включает:
строчные и прописные буквы латинского алфавита;
строчные и прописные буквы национального алфавита;
цифры от 0 до 9;
символ «_»;
набор специальных символов: " { }, 1 [ ] + — %/ \; ' : ? < > = ! & # ~ *-
прочие символы.
Алфавит С# служит для построения слов, которые в C++ называются лексемами. Различают типы лексем:
идентификаторы;
ключевые слова;
знаки (символы) операций;
литералы;
разделители.
Почти все типы лексем (кроме ключевых слов и идентификаторов) имеют собственные правила словообразования, включая собственные подмножества алфавита. Лексемы обособляются разделителями. Этой же цели служит множество пробельных символов, к числу которых относятся пробел, табуляция, символ новой строки и комментарии.
Комментарии
Комментарии – это фрагменты кода, которые игнорируются компилятором. В C# определены комментарии:
// - комментарий до конца строки.
/* - символы начала многострочного комментария.
*/ -символы конца многострочного комментария.
Идентификаторы
В языке C# используется кодировка unicod. Это означает:
Чувствительность к регистру, M и m - это разные переменные.
Допустимо использовать для идентификаторов символы кириллицы.
На имена накладываются ограничения.
Первый символ – буква.
Следующие символы – буквы, цифры, символ подчеркивания.
В языке C# для многословных имен не принятоприменять символы подчеркивания. Рекомендуется разделять слова, используя в начале слова заглавные буквы. Возможны два стиля имен:
Pascal, с заглавной буквы начинается каждое слово идентификатора, включая первое. Например, ЭтоМойИдентификатор.
Camel, первая буква строчная, но имя может содержать заглавные буквы (визуально это горбы, camel = верблюд). Например, этоМойИдентификатор.
В типах .NET Framework используется иерархическая схема именования с точкой. При таком подходе связанные типы группируются в пространства имен, что упрощает их поиск и создание ссылок.
Первая часть полного имени — до крайней правой точки — это имя пространства имен. Последняя часть имени — это имя типа. Например,
System.Collections.ArrayList
представляет собой тип ArrayList, который принадлежит пространству имен System.Collections. Типы в System.Collections можно использовать для работы с коллекциями объектов.
Ключевые слова
Ключевые слова — это предварительно определенные зарезервированные идентификаторы, имеющие специальные значения для компилятора.
Ключевые слова используются для инструкций (команд) C#.
Их нельзя использовать в программе в качестве идентификаторов, если только они не содержат префикс @.
Например, @if является допустимым идентификатором, но if таковым не является, поскольку if — это ключевое слово. Идентификаторы с символом @ применять не рекомендуется.
В ИСР предусмотрены встроенные средства контроля правильности идентификаторов. ИСР не примет неправильный идентификатор, вы получите сообщение о допущенной ошибке.
Перечень ключевых слов:
abstract |
event |
new |
struct |
as |
explicit |
null |
switch |
base |
extern |
object |
this |
bool |
false |
operator |
throw |
break |
finally |
out |
true |
byte |
fixed |
override |
try |
case |
float |
params |
typeof |
catch |
for |
private |
uint |
char |
foreach |
protected |
ulong |
checked |
goto |
public |
unchecked |
class |
if |
readonly |
unsafe |
const |
implicit |
ref |
ushort |
continue |
in |
return |
using |
decimal |
int |
sbyte |
virtual |
default |
interface |
sealed |
volatile |
delegate |
internal |
short |
void |
do |
is |
sizeof |
while |
double |
lock |
stackalloc |
|
else |
long |
static |
|
enum |
namespace |
string |
|