Справочник по C#

Этот раздел содержит подробные справочные сведения о ключевых словах, операторах, специальных символах, директивах препроцессора, параметрах компилятора и ошибках и предупреждениях компилятора в среде C#.

Содержание раздела

Ключевые слова в C#
Ссылки на сведения о ключевых словах и синтаксисе языка C#.

Операторы в C#
Ссылки на сведения об операторах и синтаксисе языка C#.

Специальные символы в C#
Предоставляет ссылки на сведения о специальных контекстные символов в C# и их использовании.

Директивы препроцессора C#
Ссылки на сведения о командах компилятора для внедрения в исходном коде C#.

Параметры компилятора C#
Сведения о параметрах компилятора и их использовании.

Ошибки компилятора C#
Фрагменты кода, демонстрирующие причины и способы исправления ошибок и предупреждений компилятора C#.

Спецификация языка C#
Спецификация языка C# версии 6.0 Это черновой вариант для языка C# версии 6.0. Этот документ будет пересмотрен в рамках работы с комитетом по стандартам C# ECMA. Версия 5.0 была выпущена в декабре 2017 г. как стандартный 5-й выпуск ECMA-334.

Возможности, которые были реализованы в языке C# версий более поздних чем 6.0, представлены в предложениях по спецификации языка. В этих документах описываются изменения спецификации языка, связанные с добавлением новых функций. Это черновой вариант для формы. Эти спецификации будут улучшены и отправлены в комитет по стандартам ECMA для официального анализа и внедрения в будущую версию стандарта C#.

Предложения по спецификации C# 7.0
В версии C# 7.0 реализован ряд новых возможностей, включая сопоставления шаблонов, локальные функции, объявления выходной переменной, выражения throw, двоичные литералы и разделители между цифрами. Эта папка содержит спецификации для каждой из этих функций.

Предложения по спецификации C# 7.1
В версию C# 7.1 добавлено несколько новых возможностей. Можно написать метод Main, возвращающий Task или Task<int>. Это позволяет добавлять модификатор async в метод Main. Выражение default можно использовать без типа в тех расположениях, где возможен вывод типа. Кроме того, появилось еще одно дополнительное усовершенствование: вывод имен элементов кортежа. И, наконец, сопоставление шаблонов можно использовать с универсальными шаблонами.

Предложения по спецификации C# 7.2
В версию C#7.2 добавлен ряд простых функций. С помощью ключевого слова in можно передавать аргументы по ссылке только для чтения. Внесен ряд незначительных изменений для поддержки безопасности во время компиляции для Span и связанных типов. В некоторых ситуациях можно использовать именованные аргументы, если следующие за ними аргументы являются позиционными. Модификатор доступа private protected позволяет указывать, что вызывающие объекты ограничены производными типами, реализованными в той же сборке. Оператор ?: можно использовать для разрешения в ссылку на переменную. С помощью разделителя начальных цифр можно форматировать шестнадцатеричные и двоичные числа.

Предложения по спецификации C# 7.3
Версия C# 7.3 является очередным промежуточным выпуском, содержащим несколько небольших обновлений. К параметрам универсальных типов можно применять новые ограничения. Другие изменения упрощают работу с полями fixed, включая использование выделений stackalloc. Локальные переменные, объявленные с ключевым словом ref, можно переназначать для указания на новое хранилище. Можно применять атрибуты к автоматически реализуемым свойствам, предназначенным для созданного компилятором резервного поля. Переменные выражений можно использовать в инициализаторах. Кортежи можно проверять на равенство (или неравенство). Кроме того, были внесены некоторые улучшения в разрешение перегрузки.

Предложения по спецификации C# 8.0
Версия C# 8.0 доступна для .NET Core 3.0. В число возможностей входят использование ссылочных типов, допускающих значения NULL, рекурсивное сопоставление шаблонов, методы интерфейса по умолчанию, асинхронные потоки, диапазоны и индексы, использование шаблонов и объявлений using, назначение объединения со значением NULL и члены экземпляров с доступом только на чтение.

Предложения по спецификации C# 9.0
Версия C# 9.0 доступна для .NET 5.0. Предлагаемые функции включают записи, инструкции верхнего уровня, усовершенствованное сопоставление шаблонов, методы задания только для инициализации, выражения new с целевым типом, модульные инициализаторы, расширение методов partial, статические анонимные функции, условные выражения с целевым типом, ковариантные типы возвращаемого значения, метод расширения GetEnumerator в циклах foreach, пустые переменные в качестве параметров лямбда-выражений, атрибуты для локальных функций, целочисленные значения с системным размером, указатели на функцию, подавляемое порождение флага localsinit и аннотации для параметров неограниченного типа.

Использование среды разработки Visual Studio для C#
Ссылки на концептуальные разделы и разделы задач, описывающие интегрированную среду разработки и редактор.

Руководство по программированию на C#
Сведения об использовании языка программирования C#.