История версий языка 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# 2.0 – 5.0)
Эти версии представили возможности, которые мы используем больше всего сегодня.
- C# 2.0: Generics, анонимные методы и nullable-типы изменили то, как мы работаем с данными.
- C# 3.0: LINQ, лямбда-выражения и методы расширения значительно упростили запросы к данным.
- C# 4.0: Эта версия добавила ключевое слово
dynamicи необязательные параметры. - C# 5.0: Ключевые слова
asyncиawaitсовершили революцию в асинхронном программировании.
Эра современного компилятора (C# 6.0 – 9.0)
С компилятором Roslyn обновления стали быстрее и чаще.
- C# 6.0 и 7.0: Эти версии сосредоточились на “синтаксическом сахаре”, таком как члены с телом-выражением и кортежи.
- C# 8.0: Ссылочные типы, допускающие null, помогли разработчикам избегать частых исключений null-pointer.
- C# 9.0: Records и операторы верхнего уровня упростили моделирование данных и сократили шаблонный код.
Недавние улучшения (C# 10.0 – 13.0)
Язык теперь развивается ежегодно вместе с .NET.
- C# 10 и 11: Глобальные директивы using и сырые строковые литералы повысили продуктивность разработчика.
- C# 12 и 13: Первичные конструкторы для классов и улучшения ref struct сохранили конкурентоспособность языка.
Что нового в C# 14?
Выпущенный вместе с .NET 10, C# 14 вводит несколько улучшений качества жизни.
Ключевое слово field
Вам больше не нужно вручную объявлять поля поддержки для свойств. Ключевое слово field позволяет напрямую обращаться к сгенерированному компилятором полю внутри аксессоров.
public string Name {
get => field;
set => field = value ?? "Unknown";
}
Члены расширений
C# 14 расширяет методы расширения. Теперь вы можете определять свойства расширения, статические члены и даже операторы внутри нового блока extension.
Другие ключевые возможности
- Null-условное присваивание: Используйте
?.=для присваивания значений только если цель не null. - Неявные преобразования в Span: Массивы и строки теперь преобразуются в span более естественно.
- Модификаторы лямбды: Вы можете использовать
ref,inиoutдля параметров лямбды без явных типов. - Частичные конструкторы: Генераторы исходного кода теперь могут определять сигнатуры конструкторов в частичных классах.
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.