Поделиться через


LanguageVersion Перечисление

Определение

Указывает версию языка.

public enum class LanguageVersion
public enum LanguageVersion
type LanguageVersion = 
Public Enum LanguageVersion
Наследование
LanguageVersion

Поля

CSharp1 1

Язык C# версии 1

CSharp10 1000

Язык C# версии 10.0

Возможности

  • Структуры записей
  • Глобальные директивы using
  • Улучшения лямбда-выражений
  • Улучшенное определенное назначение
  • Константные интерполированные строки
  • Смешивание объявлений и переменных при деконструкции
  • Расширенные шаблоны свойств
  • Запечатаемая запись ToString
  • API генератора источников версии 2
  • AsyncMethodBuilder на уровне метода
CSharp11 1100

Язык C# версии 11.0
Возможности

  • Необработанные строковые литералы
  • Статические абстрактные члены в интерфейсах
  • Универсальные атрибуты
  • Новые линии в интерполяциях
  • Шаблоны списков
  • Обязательные члены
  • Шаблон константы span<char>
  • Автоматическая настройка структуры по умолчанию
  • Nameof(parameter)
  • Проверенные пользовательские операторы
  • Строковые литералы UTF-8
  • Оператор сдвига вправо без знака
  • Оператор неохнужденной смены
  • Поля ссылок
  • Локальные типы файлов
CSharp12 1200

Язык C# версии 12.0
Возможности

  • Основные конструкторы
  • Использование псевдонимов для любых типов
  • Nameof доступ к членам экземпляра
  • Встроенные массивы
  • Выражения коллекции
  • Ссылочные параметры только для чтения
  • Необязательные параметры лямбда-выражения
CSharp2 2

Язык C# версии 2

CSharp3 3

Язык C# версии 3

Возможности: LINQ.

CSharp4 4

Язык C# версии 4

Возможности: динамические.

CSharp5 5

Язык C# версии 5

Возможности: асинхронные атрибуты, атрибуты сведений о вызывающем объекте.

CSharp6 6

Язык C# версии 6

Возможности

  • Использование статического класса
  • Фильтры исключений
  • Выражение Await в блоках Catch и Finally
  • Инициализаторы автосвойств
  • Методы и свойства, воплощаемые в выражениях
  • Оператор, распространяющий значение NULL?.
  • Интерполяция строк
  • Оператор nameof
  • Инициализатор словаря
CSharp7 7

Язык C# версии 7.0

Возможности

  • Переменные Out
  • Сопоставление шаблонов
  • Кортежи
  • Деконструкция
  • Пустые переменные
  • Локальные функции
  • Разделители между цифрами
  • Возвращаемые ссылочные значения и локальные переменные
  • Обобщенные асинхронные типы возвращаемых значений
  • Другие элементы, воплощающие выражение
  • Выражения throw
CSharp7_1 701

Язык C# версии 7.1

Возможности

  • Асинхронный основной
  • Литерал по умолчанию
  • Выводимые имена элементов кортежа
  • Сопоставление шаблонов с помощью универсальных шаблонов
CSharp7_2 702

Язык C# версии 7.2

Возможности

  • Ссылка только для чтения
  • Структуры ссылок и только для чтения
  • Ссылки на расширения
  • Условный оператор ref
  • Частный защищенный
  • Разделители цифр после базового описателя
  • Неконечные именованные аргументы
CSharp7_3 703

Язык C# версии 7.3

Возможности

  • Индексирование фиксированных полей не требует закрепления
  • Можно переназначить локальные переменные ref
  • Массивы stackalloc поддерживают инициализаторы
  • Другие типы поддерживают оператор fixed
  • Расширенные универсальные ограничения
  • Кортежи поддерживают == и !=
  • Подключение атрибутов к резервным полям для автоматически реализуемых свойств
  • Улучшение разрешения перегрузки метода, если аргументы отличаются на "in"
  • Расширение переменных выражений в инициализаторах
  • Улучшенный отбор потенциальных перегрузок
  • Новые параметры компилятора (-publicsign и -pathmap)
CSharp8 800

Язык C# версии 8.0

Возможности

  • Члены только для чтения
  • Методы интерфейса по умолчанию
  • Улучшения сопоставления шаблонов (выражения переключателей, шаблоны свойств, шаблоны кортежей и позиционные шаблоны)
  • Объявления using
  • Статические локальные функции
  • Удаляемые ссылочные структуры
  • Ссылочные типы, допускающие значение null
  • Асинхронные потоки
  • Асинхронные высвобождаемые типы
  • Индексы и диапазоны
  • Присваивание объединения со значением NULL
  • Неуправляемые сконструированные типы
  • Выражение stackalloc во вложенных выражениях
  • Улучшение интерполированных строк verbatim
CSharp9 900

Язык C# версии 9.0

Возможности

  • Записи
  • Методы задания только инициализации
  • Инструкции верхнего уровня
  • Улучшения сопоставления шаблонов
  • Целые числа собственного размера
  • Указатели функций
  • Отмена создания флага localsinit
  • Новые выражения целевого типа
  • Статические анонимные функции
  • Условное выражение с целевым типом
  • Ковариантные возвращаемые типы
  • Поддержка расширений GetEnumerator для циклов foreach
  • Параметры удаления лямбда-выражения
  • Атрибуты локальных функций
  • Инициализаторы модулей
  • Новые функции для разделяемых методов
Default 0

Версия языка по умолчанию, которая является последней поддерживаемой версией.

Latest 2147483647

Последняя поддерживаемая версия языка.

LatestMajor 2147483645

Последняя основная поддерживаемая версия.

Preview 2147483646

Предварительный просмотр следующей языковой версии.

Применяется к