GC скажет тебе спасибо, после просмотра этого видео 😂

Просмотров: 5, 740   |   Загружено: 2 год.
icon
Dev Jungles - Andrii Podkolzin
icon
285
icon
Скачать
iconПодробнее о видео
#DevJungles #CSharp #ityoutubers

Telegram канал Dev Jungles -
Поддержать канал можно:
- Подписавшись на Patreon: patreon.com/user?u=79336362
- Спонсорством на YouTube
- Переводом на карту или пополнением банки монобанка:
Dev Jungles YouTube Channel Fund


Номер карты банки:
5375 4112 0230 1466

- Или криптой:
BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy
ETH - 0x2903f63ba9009732272e91a299053b9d7b623216

USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T

LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2

DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216
Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd

Полный стрим тут:


Сегодня мы поговорим о теме, которая может показаться сложной на первый взгляд, но которая очень важна для разработчиков на языке C#. Речь пойдет о лямбда-выражениях и о том, как они обрабатываются в среде .NET.

Во-первых, стоит отметить, что Microsoft очень быстро выпускает новые версии языка C#, и иногда трудно успевать за всеми изменениями. Но CLR (Common Language Runtime) развивается не так быстро, и здесь есть свой хитрый трюк: новые языковые фишки компилируются в IL код, который поддерживается старыми версиями runtime. Таким образом, мы можем использовать новые возможности языка C# на старых версиях .NET.

Лямбда-выражения – это синтаксический сахар для анонимных методов, которые в свою очередь являются синтаксическим сахаром для делегатов. Лямбда-выражения позволяют нам создавать функции, которые можно передавать как параметры, возвращать из методов и сохранять в переменных.

Как же работает компилятор с лямбда-выражениями? Оказывается, компилятор обрабатывает их по-разному. В зависимости от контекста, в котором используется лямбда-выражение, компилятор генерирует разный код. Например, если мы используем лямбда-выражение для создания объекта делегата, компилятор генерирует код для создания нового экземпляра делегата. А если мы используем лямбда-выражение в качестве параметра метода, компилятор генерирует код для передачи анонимного метода в качестве параметра.

Но как это все связано с GC (Garbage Collector)? Оказывается, при использовании лямбда-выражений происходит создание дополнительных объектов, которые могут оказаться в куче (heap) и могут быть собраны GC только при следующей сборке мусора. Поэтому при использовании лямбда-выражений необходимо учитывать потенциальную нагрузку на GC и стараться оптимизировать свой код.


Тайм-коды:
00:00 - Тизер
00:36 - lamda
08:36 - О канале
11:15 - миф про boxing при замыканиях

Похожие видео

Добавлено: 55 год.
Добавил:
  © 2019-2021
  GC скажет тебе спасибо, после просмотра этого видео 😂 - RusLar.Me