C# Development | YeaHub
743 subscribers
304 photos
33 videos
1 file
537 links
Теория, подготовка к интервью и курсы для C# разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #CSharp
🤔 Что такое события в С#?

Событие в С# — это уведомление о том, что произошел какой-то действительный процесс или событие. События в С# построены на основе делегатов, которые позволяют регистрировать обработчики событий. Когда событие возникает, все зарегистрированные обработчики вызываются. События объявляются с помощью ключевого слова event , и обработчики событий представляют собой делегаты.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Один простой хак для продуктивности умных C#-разработчиков

Создавай сразу несколько классов в Visual Studio

Как это сделать?

В окне «Добавить новый элемент» просто введи несколько названий классов, разделяя их запятыми

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#полезное
📞 Пример SQL-запроса, который генерирует Entity Framework для вставки в SQL Server

Обрати внимание на использование оператора MERGE, который изначально предназначался для объединения двух таблиц

Такой подход выбран из соображений производительности

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Фишка в Visual Studio для C# разработчиков — быстрое превращение JSON в классы, без онлайн-сервисов:

Просто скопируй JSON, зайди в Edit → Paste Special → Paste JSON as Classes — и Visual Studio сама сгенерит нужные классы.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #CSharp
🤔 Как реализовать паттерн Singleton в С#?

В С# можно реализовать паттерн Singleton несколькими способами, включая:
🟠 Не потокобезопасный Singleton.
🟠 Потокобезопасный Singleton.
🟠 Потокобезопасный Singleton с двойной проверкой блокировки.
🟠 Singleton без блокировки.
🟠 Использование типа Lazy<T› из .NET 4.0 для ленивой инициализации.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#новости
😇 Rider 2025.1 получил несколько улучшений для работы с системой контроля версий

Теперь в представлении diff сразу отображаются детали коммита, а при обновлении удалённых репозиториев Git изменения подтягиваются автоматически

Держите свои репы в актуальном состоянии без лишних усилий

Дополнительные сведения о контроле версий можно найти — здесь

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Новая реализация JsonPatch с использованием System.Text.Json появится в ASP.NET Core 10 Preview 4!
Подробнее

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🥺 Одна из многих функций ReSharper, которые мне нравятся — это постфиксные шаблоны

> logger.inject → вставит зависимость в конструктор
> Process().await → обернёт вызов в await
> someValue.return → добавит return someValue;

В версии 2025.1 появился новый шаблон — .inject. Теперь внедрять зависимости стало ещё быстрее

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CSharp
🤔 Что такое паттерн проектирования Singleton в С#?

Паттерн Singleton ограничивает создание объекта классом, позволяя создать только один экземпляр. Он обеспечивает глобальный доступ к этому экземпляру через статический метод. Этот паттерн полезен, когда нужно использовать один и тот же обьект по всему приложению.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 IKVM — мост между Java и .NET. Инструмент превращает скомпилированные JAR-файлы в .NET-сборки, а также помогает стандартным Java-библиотекам работать как родные для C#.

Особенность проекта кроется в динамической трансляции байт-кода в CIL на лету или статической компиляции в DLL. Это открывает интересные сценарии, например, использование Java-библиотек машинного обучения в .NET-приложениях или интеграция legacy-кода без полного рефакторинга.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
🥳 В YeaHub теперь 2040 пользователей!

На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:

- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.

А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.

И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪

👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#полезное
🥱 В .NET 10 завозят Shuffle() для LINQ

Наконец-то можно будет перемешивать IEnumerable<T> без OrderBy(_ => Guid.NewGuid()) и кастомных костылей.

Зачем это нужно?
🟠 случайный выбор без повторений
🟠 data seeding
🟠 игры, ML, генераторы тестов и т.п.

Микро-удобство, но то, что надо

Ссылка на обсуждение

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🤓 В Rider 2025.1 добавили поддержку preview-фич C# 14:

> Упрощение nameof(List<>)
> Преобразования в Span
> Модификаторы у параметров лямбд

Полный разбор тут

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CSharp
🤔 Перечислите часто используемые типы исключений в С#

Исключения в С# - это ошибки, которые происходят во время выполнения программы. Некоторые часто встречающиеся исключения:
ArrayTypeMismatchException - возникает при попытке сохранить несовместимый тип данных в массив.
DivideByZeroException - происходит при делении на ноль.
IndexOut0fRangeException - возникает, когда индекс массива выходит за допустимые пределы.
InvalidCastException - когда попытка приведения типов недействительна.
OutOfMemoryException - недостаточно памяти для выполнения операции.
OverflowException - происходит при переполнении при арифметических операциях.
NullReferenceException - ошибка при попытке работы с пустым объектом.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👌1
#полезное
👨‍💻 Fluent.Ribbon — WPF-библиотека для тех, кто скучает по интерфейсам в стиле Microsoft Office. Этот инструмент превратит стандартные окна в полноценную ленточную панель с вкладками, Backstage-меню и Quick Access Toolbar.

Библиотека не просто копирует визуал, а адаптирует его под WPF, сохраняя гибкость: от кастомизации галерей до тонкой настройки всплывающих подсказок. Интересно, что проект живёт уже больше десяти лет и продолжает обновляться — последние версии поддерживают .NET 8 и современные IDE.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🛞 Одна из крутых фич в Microsoft Visual Studio — External Tools

Они позволяют разработчику подключать свои утилиты > например, обновлять версию .NET Framework или автоматически добавлять NuGet-пакеты в .csproj

Мне надоело вручную подключать Serilog в новые проекты на ASP.NET Core, когда не используется кастомный шаблон. Вместо того чтобы писать скрипт самому — я просто попросил AI сгенерировать код.

А для быстрой настройки Serilog в Program.cs — использую шаблон ReSharper.
Проект: chekme

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🤯 Dapper + SQL Server + вычисляемые столбцы

Хочешь, чтобы возраст считался сам? В этом примере —> таблица с датами рождения, где возраст считается прямо в SQL через computed column, а данные читаются через Dapper

🟠 Без лишней логики в C#
🟠 Лёгкая ORM
🟠 Всё работает как обычное свойство
Репозиторий с примером

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CSharp
🤔 Что такое работа с файлами в С#?

Работа с файлами в С# включает в себя операции чтения и записи данных в файлы. Для этого используется пространство имен System. IO , которое предоставляет классы для работы с потоками ввода и вывода. Потоки - это последовательности байтов, через которые происходит взаимодействие с файлами. В С# существуют два типа потоков: входной (для чтения) и выходной (для записи в файл).

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫠 Эффективная асинхронная передача данных

Когда работаешь с большими наборами данных — записями из базы, строками файлов и т.д. — не всегда хочется грузить всё в память сразу. Здесь отлично заходит IAsyncEnumerable<T>

🟠 IAsyncEnumerable<T> — позволяет стримить данные асинхронно, без блокировки потоков
🟠 Используй yield return, чтобы возвращать элементы по одному
🟠 Данные подтягиваются лениво — обрабатываешь только то, что реально нужно

С await foreach всё читается и обрабатывается по мере поступления, не блокируя выполнение

Преимущества:

1⃣ экономия, даже на больших объёмах.
2⃣ ничего не блокируется, UI не фризит
3⃣ чисто и понятно, без колбэков и костылей

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 7 архитектур, которые стоит знать каждому разработчику

> Монолит
Всё в одном проекте. Легко развернуть и начать разработку, но с ростом системы поддержка становится сложной. Подходит для небольших или быстрых MVP.

> MVC
Классика веб-фреймворков. Модель, представление и контроллер. Работает отлично, если роли чётко разделены (спойлер: многие контроллеры в итоге становятся объектами-богами)

> Master-Slave (сейчас чаще говорят Leader-Follower)
Популярен в БД: один командует — остальные копируют. Увеличивает отказоустойчивость, но если синхронизация сломается — беда.

> Многослойная архитектура
Знаменитый “lasagna code”: слой представления, логики, доступа к данным, база. Хорошо структурирует, но если перегнуть — становится медленно и громоздко

> Микросервисы
Каждая функция живёт отдельно. Масштабируются отлично, но усложняется тестирование, логирование и деплой. Подход не для всех проектов.

> SOA (сервис-ориентированная архитектура)
Более формальный родственник микросервисов. Часто встречается в больших компаниях и старых системах. ESB (Enterprise Service Bus) сначала кажется полезным. пока не становится главным узким местом.

> Событийно-ориентированная архитектура
Идеальна для приложений в реальном времени. Всё основано на событиях. Очень мощная, но если что-то пойдёт не так.. найти баг — непросто


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Добавили метод UseKestrel() в WebApplicationFactory

Это появится в ASP.NET 10 Preview 4 и даст простой способ включить использование сервера Kestrel в WebApplicationFactory

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM