Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Generic'и в C# работают лучше, чем в Java и вот почему. Covariance/Contravariance и WinDBG
#DevJungles #CSharp #ityoutubers Telegram канал Dev Jungles - Поддержать канал можно: Спонсорством на 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 Полный стрим тут: • Во что компилируются Generics, Lambdas, yi... Сейчас Microsoft штампует версии C# одна за другой, я, если честно, уже даже не успеваю за ними следить. А вот CLR развивается не столь агрессивно. А ведь раньше они были тесно связанны. Для того что бы такое могло происходить команда разработки делает хитрый трюк: новые языковые фишки компилируются в IL код, который поддерживается старыми версиями runtime. Что бы понять это нам нужна были самые крутые инструменты отладки. Их сейчас редко используют, но они все еще круты: это WinDBG и SOS. Ну и Disassembly никуда не делся. Он нам сегодня тоже будет нужен. Generic'и - это мощный инструмент для обобщения кода и повышения его гибкости и повторного использования. Однако, существует ряд проблем, связанных с использованием Generic'ов, таких как производительность, безопасность типов и работа с Covariance/Contravariance. В C# реализация Generic'ов осуществляется через JIT-компилятор, который генерирует код для каждого типа во время выполнения программы. Это позволяет существенно повысить производительность и избежать накладных расходов на дополнительные проверки типов во время работы программы. Кроме того, в C# доступны функции Covariance/Contravariance, которые позволяют передавать более общие типы, чем ожидается. Это улучшает гибкость и повторное использование кода, что не так явно поддерживается в Java. Для улучшения работы с Generic'ами в C# также можно использовать инструменты, такие как WinDBG, которые помогают оптимизировать производительность и отлаживать ошибки. В целом, использование Generic'ов в C# дает множество преимуществ и является более эффективным, чем в Java. Если вы хотите улучшить производительность и гибкость вашего кода, то использование Generic'ов и Covariance/Contravariance в C# может быть отличным решением. Тайм-коды: 00:00 - Тизер 00:43 - generic 04:39 - Пример 14:33 - Интересный момент 18:02 - generic method