Start Debugging
2024-12-01 Обновлено 2026-02-08 csharpdotnet Edit on GitHub

История версий языка C#

Эволюция C# превратила его в современный высокопроизводительный язык. Это руководство отслеживает каждую важную веху. Ранние годы (C# 1.0 - 1.2). C# был выпущен в 2002 году как основной язык для .NET Framework. Он напоминал Java, но с фокусом на разработке под Windows. Версия 1.2 появилась вскоре после с небольшими...

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

Ранние годы (C# 1.0 – 1.2)

C# был выпущен в 2002 году как основной язык для .NET Framework. Он напоминал Java, но с фокусом на разработке под Windows. Версия 1.2 появилась вскоре после с небольшими улучшениями, такими как поддержка IDisposable в циклах foreach.

У языка были следующие цели:

  • Он задуман как простой, современный, универсальный объектно-ориентированный язык программирования.
  • Он должен включать строгую проверку типов, проверку границ массивов, обнаружение попыток использования неинициализированных переменных, переносимость исходного кода и автоматическую сборку мусора.
  • Он предназначен для разработки программных компонентов, которые могут использовать преимущества распределённых сред.
  • Поскольку переносимость для программистов очень важна, особенно для тех, кто уже знаком с C и C++, C# подходит лучше всего.
  • Обеспечить поддержку интернационализации, так как это было очень важно.
  • Он задуман подходящим для написания приложений как для систем с хостом, так и для встраиваемых систем.

Источник: цели проектирования C#

Крупные сдвиги в продуктивности (C# 2.0 – 5.0)

Эти версии представили возможности, которые мы используем больше всего сегодня.

Эра современного компилятора (C# 6.0 – 9.0)

С компилятором Roslyn обновления стали быстрее и чаще.

Недавние улучшения (C# 10.0 – 13.0)

Язык теперь развивается ежегодно вместе с .NET.

Что нового в C# 14?

Выпущенный вместе с .NET 10, C# 14 вводит несколько улучшений качества жизни.

Ключевое слово field

Вам больше не нужно вручную объявлять поля поддержки для свойств. Ключевое слово field позволяет напрямую обращаться к сгенерированному компилятором полю внутри аксессоров.

public string Name { 
    get => field; 
    set => field = value ?? "Unknown"; 
}

Члены расширений

C# 14 расширяет методы расширения. Теперь вы можете определять свойства расширения, статические члены и даже операторы внутри нового блока extension.

Другие ключевые возможности

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад