Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
36 videos
85 files
4.43K links
Все самое полезное для C#-разработчика в одном канале.

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

Учиться у нас: https://proglib.io/w/b60af5a4

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
​​В CLR каждый объект в куче имеет указатель на объект-тип. Это нужно для того, чтобы, например, найти значения статических полей и реализацию статических методов для экземпляра типа. Но объект-тип, на который ссылается экземпляр типа так же имеет ссылку на объект-тип и является «экземпляром» для объекта-типа System.Type, объект-тип для которого создается CLR при запуске.

На приведённой схеме объект Manager ссылается на объект-тип Manager, указатель на объект-тип которого ссылается на объект-тип System.Type.

Источник: https://proglib.io/w/932ad628
Мечтаешь создавать свои игровые миры и вселенные? Геймдев ждёт тебя! Присоединяйся к бесплатному интенсиву по движку Unity и научись разрабатывать игры с нуля!


Регистрация на интенсив по ссылке: 👉 https://clc.to/JizgCg.

🚀 Тебя ждут три онлайн-эфира и два домашних задания, чтобы закрепить полученные знания.

🚀 В результате под руководством Михаила Овчинникова, методиста Skillbox и программиста с 12-летним опытом, ты сделаешь полноценный проект всего за три вечера.

🎉 Все участники, прошедшие интенсив до конца, получат в подарок электронную книгу Кея Петерсона и Дэвида Колба «Век живи — век учись» от издательства «МИФ», а авторы трёх лучших проектов — сертификаты по 30 000 рублей на любой из курсов Skillbox.
#вопросы_для_самопроверки

Можно ли объявить делегат не только внутри класса, но и в глобальной области видимости? Если да, то почему?
​​Можно, ведь делегат представляет из-себя не просто обертку для метода, а полноценный класс, а класс можно сделать как вложенным в родительский класс, так и просто объявить в глобальной области видимости. То есть делегат можно определить везде, где может быть определен класс.

https://proglib.io/w/932ad628
Вы знаете, что Microsoft Azure предлагает единственную платформу комплексного хостинга для создания приложений .NET и управления ими, что обеспечивает значительную экономию средств, повышение операционной эффективности и гибкости бизнеса. В сегодняшнем материале вы найдете три способа получить выгоду от переноса приложений ASP.NET и данных SQL Server в Azure.

https://proglib.io/w/5c106c4b
Reactive Extensions (Rx) для .NET представляют из себя набор библиотек для работы с асинхронными и событийными источниками информации. Хотя Rx получил широкое распространение в коде на стороне клиента, его корни лежат в высокомасштабируемой обработке на стороне сервера.

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

https://proglib.io/w/97aaac1f
Модификатор extern используется для объявления метода с внешней реализацией. При применении служб взаимодействия для вызова неуправляемого кода модификатор extern обычно используется с атрибутом DllImport. Метод в данном случае также необходимо объявить как static:
[DllImport("avifil32.dll")]
private static extern void AVIFileInit();


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

Совместное использование модификаторов abstract и extern для изменения одного члена недопустимо. Использование модификатора extern означает, что метод реализуется вне кода C#, а применение модификатора abstract указывает на то, что в данном классе реализация метода не обеспечивается.
Привет! Среди наших подписчиков много деловых, работающих людей, которые часто даже не успевают приготовить себе еду и заказывают доставку, которая уже задолбала.

Вот и хотим вам посоветовать Кухню на районе, способную полностью заменить ежедневную готовку (как мама в детстве).

Кухня на районе — московский сервис доставки готовой домашней еды из под ножа. В чем разница между просто доставкой? Они сами готовят, сами доставляют и всё это максимум за 30 минут. Не все на это способны у себя дома)

Меню имеет огромное разнообразие и меняется каждую неделю. Доставка бесплатна и без минимального заказа. А еще, помимо домашней еды, пицца Zotman и коллаборации с московскими ресторанами.

За 492 рубля вообще можно заказать набор еды на целый день из 5 блюд — это у родителей в столовой на свадьбе дороже было!

А по промокоду PROGLIB вы получите 500 бонусных рублей, которыми можно оплатить до половины заказа. Переходите по ссылке(localkitchen.ru/proglib) заказывайте и приятного аппетита!!!
Если в ходе разработки на C# вам понадобилось вернуть пустую коллекцию (массив или список), то рассмотрите данный способ: https://proglib.io/w/ce81711e
​​Хотите стать универсальным программистом и быть востребованным на рынке?
Научитесь создавать сайты, серверные приложения и десктопные приложения с помощью языка C# от Microsoft на полноценном онлайн-курсе «C# разработчик» в SkillFactory.

Вас ждет практикоориентированное обучение программированию: бэкенд-разработка, фронтенд-разработка и разработка для десктоп приложений на C#, даже если у вас нет технического бэкграунда.

За 12 месяцев обучения вы освоите:
— Программирование на С#: напишите 20+ программ на C#, используя знания алгоритмов и параллельно практикуясь в code review
— SQL и работа с БД: научитесь работать с БД с помощью C# и инструментов .NET
— Backend на C#: запрограммируете серверную часть вашего приложения на C# и создадите и подключите БД к приложению
— Frontend на C#: создадите веб-интерфейс для своего приложения, как с помощью JavaScript, так и с помощью инструментов ASP.NET
— Desktop на C#: создадите десктоп приложения с помощью Windows Presentation Foundation

На протяжении всего обучения у вас будут индивидуальные консультации с ментором, персональный разбор проектов и экспертная поддержка в слаке. А наш карьерный центр поможет с трудоустройством.

🚀Получите курс со скидкой: https://clc.to/iZ33pQ
Библиотека шарписта | C#, F#, .NET, ASP.NET pinned «​​Хотите стать универсальным программистом и быть востребованным на рынке? Научитесь создавать сайты, серверные приложения и десктопные приложения с помощью языка C# от Microsoft на полноценном онлайн-курсе «C# разработчик» в SkillFactory. Вас ждет пр…»
#вопросы_для_самопроверки

Почему управлять вручную сборкой мусора зачастую нецелесообразно? Приведите пример, когда вызов метода GC.Collect() имеет смысл.
Сборщик мусора сам настраивает пороговые значения для поколений (в зависимости от реального поведения приложения). Как только размер поколения в управляемой куче превышает пороговый, начинается сборка мусора. Поэтому чаще всего следует избегать вызовов GC.Collect().

Но может возникнуть необходимость ручной сборки мусора, если произошло разовое событие, которое привело к уничтожению множества старых объектов. Таким образом, основанные на прошлом поведении приложения прогнозы сборщика мусора окажутся не точными, а сборка мусора окажется весьма кстати.

Источник: https://proglib.io/w/932ad628
​​ОГО! Спасибо! Очень приятно. Вы так тоже можете сделать: vk.com/proglib