Библиотека шарписта | C#, F#, .NET, ASP.NET
21.7K subscribers
2.89K photos
45 videos
91 files
5.35K links
Все самое полезное для C#-разработчика в одном канале.

Наши курсы: https://clc.to/y3LDtw

По рекламе: @proglib_adv

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🔄 .NET 11 Preview 2

Вышел второй превью .NET 11. Пока это не финальный релиз, но уже есть что посмотреть.

Самое заметное в этом превью — работа над производительностью на нескольких уровнях одновременно.

• В рантайме появился Runtime Async V2.

Это переработанная реализация асинхронности на уровне самого рантайма, не на уровне компилятора. Цель — убрать лишние аллокации и сделать работу async/await дешевле по ресурсам.

• SDK стал немного меньше.

Установщики для Linux и macOS сократились в размере. Плюс обновили анализаторы кода и добавили новые предупреждения при сборке.

• F# в этом превью получил несколько практичных вещей.

Кэширование при разрешении перегрузок должно ускорить компиляцию в проектах с большим количеством overload-ов.

Упростили иерархии DIM-интерфейсов, добавили директиву #elif и функцию partitionWith для коллекций.

• В Entity Framework Core добавили поддержку LINQ операторов MaxBy и MinBy. Для SQL Server появилась поддержка DiskANN векторных индексов и VECTOR_SEARCH().

• MAUI тоже не обошли стороной. Улучшили работу карт, ускорили TypedBinding, добавили аннотации неизменяемости для Color и Font. Для Android теперь минимально требуется API 24.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍3🤩1
🧑‍💻 F# 11: поддержка #elif в препроцессорных директивах

Раньше при условной компиляции под несколько платформ приходилось вкладывать #if друг в друга. Чем больше веток — тем глубже вложенность и тяжелее читать код.

Теперь F# поддерживает #elif, и цепочки условий пишутся плоско:
#if WIN64
let path = "/library/x64/runtime.dll"
#elif WIN86
let path = "/library/x86/runtime.dll"
#elif MAC
let path = "/library/iOS/runtime-osx.dll"
#else
let path = "/library/unix/runtime.dll"
#endif


В условиях работают &&, || и !, цепочки можно строить произвольной длины, вложенность тоже поддерживается.

Функция входит в F# 11. Чтобы включить, нужно указать --langversion:11.0.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤩2👍1