ru
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

Открыть в Telegram

📈 Аналитический обзор Telegram-канала C# (C Sharp) programming

Канал C# (C Sharp) programming (@csharp_ci) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 18 307 подписчиков, занимая 7 338 место в категории Технологии и приложения и 36 903 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 18 307 подписчиков.

Согласно последним данным от 12 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -16, а за последние 24 часа — 5, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 18.53%. В первые 24 часа после публикации контент обычно набирает 7.49% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 3 393 просмотров. В течение первых суток публикация набирает 1 371 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 0.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как .net, api, логика, архитектура, string.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Благодаря высокой частоте обновлений (последние данные получены 13 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

18 307
Подписчики
+524 часа
-77 дней
-1630 день
Архив постов
#ПятничныйКвиз #ДляСамыхМаленьких
#ПятничныйКвиз #ДляСамыхМаленьких

🚀 HybridCache Это решение давней проблемы с разделением между IMemoryCache и IDistributedCache. 🔧 Что даёт HybridCache: • Е
🚀 HybridCache Это решение давней проблемы с разделением между IMemoryCache и IDistributedCache. 🔧 Что даёт HybridCache: • Единый API для in-memory и distributed кэша • Настраиваемая сериализация • Stampede protection (анти-нагрузочная защита) • Удаление по тегам 🧠 Как работает GetOrCreateAsync: 1. Проверяет локальный и распределённый кэш 2. Если нет — вызывает фабричный метод 3. Кэширует результат и возвращает его 🛡️ Stampede protection: только один запрос на ключ запускает фабрику, остальные ждут — никакой гонки или перегрузки БД. 📌 Сниппет на .NET 9 выглядит так:

app.MapGet("/products/{id}", async (
    int id,
    HybridCache cache,
    ProductDbContext db,
    CancellationToken ct) =>
{
    var product = await cache.GetOrCreateAsync(
        $"product-{id}",
        async token =>
        {
            return await db.Products
                .Include(p => p.Category)
                .FirstOrDefaultAsync(p => p.Id == id, token);
        },
        cancellationToken: ct
    );

    return product is null ? Results.NotFound() : Results.Ok(product);
});
HybridCache доступен для ASP.NET Core Все разработчики могут воспользоваться HybridCache для более эффективного управления кэшем в приложениях на ASP.NET Core.

🎮 Unity-разработчик? Пора на новый уровень! Пройди тест, подтверди свои знания и стань студентом курса со скидкой до 20% по
🎮 Unity-разработчик? Пора на новый уровень! Пройди тест, подтверди свои знания и стань студентом курса со скидкой до 20% по промокоду UNITYPRO_10: https://tglink.io/fa845981272c 🧠 Что ты узнаешь: - Применение принципов SOLID и паттернов GRASP на практике - Навыки выявления и устранения антипаттернов в коде - Разработка модульной архитектуры и повторно используемого кода - Создание систем загрузки, сохранения и ИИ - Освоение фреймворков Zenject и LeoECS - Работа с Addressables и подходом Test Driven Development ⏰ Скорее проходи вступительный тест и получай выгодное предложение: https://tglink.io/fa845981272c?erid=2W5zFGzF6F2 #реклама О рекламодателе

🧹 Разделение классов на отдельные файлы в ReSharper — автоматически Если вы работаете с большими C#‑файлами, где собрано по 3–5 классов в одном месте, ReSharper теперь позволяет разнести все классы по отдельным файлам в один клик. 🔧 Что умеет: ▪️ Автоматически определяет все вложенные классы, интерфейсы, enum’ы ▪️ Создаёт новые `.cs`‑файлы с соответствующими именами ▪️ Упрощает навигацию и соблюдение best practices 📌 Где искать: Refactor This → Move to Separate Files или Context Action (Alt+Enter) → Move All Types to Separate Files 📎 Инструкция от JetBrains: https://www.jetbrains.com/help/resharper/Move_classes_into_separate_files_in_one_go.html 💡 Подходит для чистки легаси-кода и ускорения навигации в больших проектах .NET. #CSharp #ReSharper #Refactoring #JetBrains #DotNet #DevTools #CodeQuality

ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2025 ГОДУ? 🚀 Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программировани
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2025 ГОДУ? 🚀 Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения! 👉 Стартуем 2 июня. Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин. Ты научишься: ✅ Разбивать приложение на слои в соответствии с Clean Architecture ✅ Формировать Domain Model и применять тактические паттерны DDD ✅ Реализовывать Use Case как Command/Query ✅ Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения ✅ Писать 3 вида тестов для разных слоев приложения Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqwTjbcd&utm_campaign=3 А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач. А еще: ✅ Проверим все домашки ✅ Поддержим в чате ✅ Проведем живые разборы ✅ Ответим на все вопросы 📕 Сертификат об участии по итогам прохождения курса. 🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqwTjbcd&utm_campaign=3 Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwTjbcd

📒 .NET Interactive — мультиязычные интерактивные блокноты от Microsoft. Для разработчиков, уставших переключаться между Jupy
📒 .NET Interactive — мультиязычные интерактивные блокноты от Microsoft. Для разработчиков, уставших переключаться между Jupyter и IDE инструмент предлагает необычное решение — блокноты, где в соседних ячейках могут работать C#, Python, SQL и даже PowerShell. Проект поддерживает обмен переменными между языками: например, результат SQL-запроса можно сразу передать в DataFrame на C#. Основа технологии — движок, который работает как в Visual Studio Code, так и в классическом Jupyter. Особенно удобно для ETL-задач: можно собрать весь пайплайн в одном файле, от загрузки данных через KQL до визуализации на R. 🤖 GitHub @csharp_ci

🌐 Squidex — автономный CMS с открытым исходным кодом. Этот проект переосмысливает традиционный подход к системам управления
🌐 Squidex — автономный CMS с открытым исходным кодом. Этот проект переосмысливает традиционный подход к системам управления контентом, предлагая вместо готового интерфейса мощный API с поддержкой OData-фильтров и Swagger-спецификаций. Разработчики могут использовать Squidex как основу для сайтов, мобильных приложений или серверных решений, сохраняя полный контроль над фронтендом. Система построена на ASP.NET Core с архитектурой CQRS и работает как на Windows, так и на Linux. В отличие от аналогов, Squidex не навязывает конкретную клиентскую часть — вы сами решаете, как визуализировать контент. 🤖 GitHub @csharp_ci

Разработчики, девопсы, сисадмины: 📲 внимание, внимание! Похоже, эпоха открытого исходного кода идёт к концу: одна за одной н
Разработчики, девопсы, сисадмины: 📲 внимание, внимание! Похоже, эпоха открытого исходного кода идёт к концу: одна за одной наши любимые бесплатные C#-библиотеки становятся платными. И что же теперь делать? Давайте соберёмся вместе и подумаем. Приглашаем вас на открытую онлайн-дискуссию «Библиотеки C# уходят в платную сферу: конец эры опенсорса?» 📌Узнаете, какие библиотеки уже стали платными и что ждёт экосистему дальше 📌Узнаете, чем конкретно можно заменить ту или иную библиотеку 📌Сможете уменьшить лицензионные риски 📌Сможете вовремя изменить карьерный вектор или поменять архитектуру проектов 📌 Получите экспертные рекомендации по архитектуре и устойчивым решениям Спикеры: 👨‍💻Олег Голенищев – старший разработчик в Directum 👨‍💻Антон Герасименко – ведущий .NET-разработчик. Всем участникам – скидка 7% на любой курс OTUS и подборка альтернативных библиотек с открытым исходным кодом в подарок. 27 мая, 19:00 МСК Бесплатно по записи: https://tglink.io/39efef377046 Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFH1Pw5J

🌐 Squidex — автономный CMS с открытым исходным кодом. Этот проект переосмысливает традиционный подход к системам управления
🌐 Squidex — автономный CMS с открытым исходным кодом. Этот проект переосмысливает традиционный подход к системам управления контентом, предлагая вместо готового интерфейса мощный API с поддержкой OData-фильтров и Swagger-спецификаций. Разработчики могут использовать Squidex как основу для сайтов, мобильных приложений или серверных решений, сохраняя полный контроль над фронтендом. Система построена на ASP.NET Core с архитектурой CQRS и работает как на Windows, так и на Linux. В отличие от аналогов, Squidex не навязывает конкретную клиентскую часть — вы сами решаете, как визуализировать контент. 🤖 GitHub @csharp_ci

Что выведет на экран этот код?
Anonymous voting

#ПятничныйКвиз
#ПятничныйКвиз

🔍 OmniSharp — интеллектуальная подсказка для C# без Visual Studio. Этот движок на базе Roslyn превращает любой редактор кода
🔍 OmniSharp — интеллектуальная подсказка для C# без Visual Studio. Этот движок на базе Roslyn превращает любой редактор кода в полноценную C#-IDE. В отличие от монолитных решений, он работает как отдельный сервер, предоставляя автодополнение, навигацию по коду и анализ проектов даже в минималистичных средах разработки. Проект запускается под .NET 6 на Windows и через Mono на Linux/macOS. Интеграция с редакторами занимает буквально пару строк конфига, а сборки из мастер-ветки доступны сразу после каждого коммита. 🤖 GitHub @csharp_ci

🚀 GitHub Copilot Upgrade for .NET — AI-инструмент для миграции проектов Microsoft запустила GitHub Copilot app modernization
🚀 GitHub Copilot Upgrade for .NET — AI-инструмент для миграции проектов Microsoft запустила GitHub Copilot app modernization – Upgrade for .NET, расширение для Visual Studio, которое помогает автоматизировать обновление ваших .NET-приложений на новые версии (например, .NET 8 и далее) :contentReference[oaicite:0]{index=0}. ✨ Как это работает: 1. Определение цели В чате Copilot вы указываете, что хотите обновить (например, "Upgrade my solution to .NET 8") :contentReference[oaicite:1]{index=1}. 2. Умный план обновления Сначала создаётся план миграции — анализируется зависимостная структура и порядок обновления проектов учитывается автоматически :contentReference[oaicite:2]{index=2}. 3. Автоматический апгрейд Copilot применяет изменения: обновляет .csproj, зависимости, исправляет API-разрывы — всё выполняется автоматически :contentReference[oaicite:3]{index=3}. 4. Вовлечение разработчика Если возникают спорные моменты, инструмент запрашивает ваше вмешательство и запоминает, как вы решаете проблему, чтобы применить ту же логику в будущем :contentReference[oaicite:4]{index=4}. 5. Запуск тестов и фиксация изменений После всех преобразований запускаются unit-тесты (если есть), создаются git-коммиты — вы проверяете и сливаете изменения :contentReference[oaicite:5]{index=5}. 🛠 Почему это полезно:Экономия времени и сил — планирует и правит код вместо вас • Минимизирует риски — вручную вы запустите тесты и проверите изменения • Адаптация под ваш стиль — Copilot учится на ваших правках • Интеграция с IDE — работает внутри Visual Studio через Agent Mode и chat-бота :contentReference[oaicite:6]{index=6}. 📋 Что входит: - Автоматические преобразования кода под новую платформу (.csproj, зависимости, API) - Гибкие настройки (проекты, управление уязвимыми пакетами и др.) - Обучение на ручных правках и повторное применение - Автоматическое создание коммитов - Запуск unit-тестов после апгрейда - Поддержка Copilot Agent Mode в Visual Studio 17.14+ и .NET workload :contentReference[oaicite:7]{index=7}. ⚡ Как начать: 1. Установите расширение “GitHub Copilot app modernization – Upgrade for .NET” из Marketplace 2. Включите Agent Mode в Visual Studio (Tools → GitHub → Copilot Chat → Agent Mode) 3. Включите инструмент Upgrade в Copilot Chat 4. Либо нажмите правой кнопкой на решение → “Upgrade with GitHub Copilot” Либо напишите в чате: “Upgrade my solution to .NET 8” :contentReference[oaicite:8]{index=8}. https://devblogs.microsoft.com/dotnet/github-copilot-upgrade-dotnet/

🧠 ArtificialCast — магия трансформаций на базе LLM в .NET ArtificialCast — это экспериментальная библиотека для .NET, котора
🧠 ArtificialCast — магия трансформаций на базе LLM в .NET ArtificialCast — это экспериментальная библиотека для .NET, которая превращает преобразование объектов в интеллектуальный процесс с помощью больших языковых моделей. 🚀 Что умеет: • Автоматически преобразует объекты между типами • Не требует ручного маппинга или конфигураций • Использует LLM (например, Gemma 3 4B) для адаптации несовместимых структур • Генерирует JSON-схемы для целевых типов 🧪 Примеры:

var result = await AC<LegacyUserDTO, NewUserModel>(legacyUser);
— преобразует старую DTO-модель в новую без ручной работы

var request = new MathRequest { Tokens = new() { "(", "2", "+", "3", ")", "*", "4", "-", "6", "/", "3" } };
var response = await AC<MathRequest, MathResponse>(request);
— рассчитывает результат выражения и генерирует пошаговое решение ⚠️ Проект предназначен только для демонстрации — в продакшн пока не стоит запускать, но как proof-of-concept это отличная иллюстрация, как LLM могут расширять возможности .NET-разработки. 🔗 Репозиторий

📚 Модернизация .NET веб-приложений с помощью DotVVM и новой книги Томаша Герцега В свежем выпуске подкаста [The .NET Core Sh
📚 Модернизация .NET веб-приложений с помощью DotVVM и новой книги Томаша Герцега В свежем выпуске подкаста [The .NET Core Show](https://dotnetcore.show/season-7/dotnet-web-app-modernization-made-easy-with-tomas-hercegs-new-book-and-dotvvm/) Томаш Герцег — Microsoft MVP и автор фреймворка DotVVM — рассказывает, как безболезненно обновлять устаревшие .NET-приложения. 🔧 Что такое DotVVM DotVVM — это open-source MVVM-фреймворк, предназначенный для поэтапной миграции с ASP.NET Web Forms на современный .NET: - Позволяет переписывать старые приложения постепенно, без необходимости полного рефакторинга - Поддерживает .NET Framework и .NET Core - Совместим с существующей кодовой базой, не нарушая архитектуру DotVVM выступает как мост между устаревшими технологиями и современным стеком, позволяя сохранять бизнес-логику и UI. 🎧 Слушать эпизод подкаста: https://dotnetcore.show/season-7/dotnet-web-app-modernization-made-easy-with-tomas-hercegs-new-book-and-dotvvm/ #DotVVM #DotNet #WebForms #ASPNet #Modernization #TomasHerceg #SoftwareDevelopment #LegacyToModern

Вечером 29 мая состоится трансляция питерского .NET-митапа от SpbDotNet и Altenar Зрители онлайна смогут задавать вопросы спи
Вечером 29 мая состоится трансляция питерского .NET-митапа от SpbDotNet и Altenar Зрители онлайна смогут задавать вопросы спикерам. Регистрируйтесь, чтобы не потерять ссылки на трансляции и получить доступ к записям. • В 19:00 (мск) Владимир Куропатка расскажет, как добиться высокой производительности и отказоустойчивости при использовании Serilog в проектах. • В 20:30 Константин Финагин покажет, как писать простые и наглядные юнит-тесты — без тонущих в ассертах простыней кода. Подробности о докладах и митапе — на странице регистрации. Увидимся в эфире!

🧠 C# Задача: структура, интерфейс и потеря состояния Эта задача проверяет знание нюансов работы struct с интерфейсами. Поведение кажется очевидным — но только на первый взгляд. 📦 Задача

using System;

public interface ICounter
{
    void Increment();
    int Value { get; }
}

public struct Counter : ICounter
{
    private int _value;
    public void Increment()
    {
        _value++;
    }

    public int Value => _value;
}

class Program
{
    static void Main()
    {
        ICounter counter = new Counter();
        counter.Increment();
        counter.Increment();
        Console.WriteLine(counter.Value);
    }
}
❓ Что выведет код? A) 0 😎 1 C) 2 D) Ошибка компиляции 💡 Разбор Наивный ответ — 2, ведь Increment() вызывается дважды. Но! 📦 Counter — это struct, то есть value type. Когда мы присваиваем Counter переменной типа ICounter, происходит boxing — создаётся копия структуры в heap. 🔁 Каждый вызов counter.Increment() работает с новой копией, потому что интерфейс не может напрямую изменить struct без создания временного объекта. 🧱 В итоге Increment() изменяет внутреннее состояние временной копии, но не оригинального значения. ✅ Ответ: 0 🧨 Подвох Использование struct через интерфейс приводит к boxing. Вызываемые методы действуют на копии, а не на оригинале. Изменения теряются, и это не ошибка компиляции — это логическая ловушка. 🔧 Как исправить? Вариант 1: Сделать Counter классом: ```csharp public class Counter : ICounter { private int _value; public void Increment() => _value++; public int Value => _value; } public class Counter : ICounter { private int _value; public void Increment() => _value++; public int Value => _value; }``` @csharp_ci

✍️ RoslynPad — легковесная C#-песочница с интеллектуальным кодом. Этот кроссплатформенный редактор превращает написание C#-ко
✍️ RoslynPad — легковесная C#-песочница с интеллектуальным кодом. Этот кроссплатформенный редактор превращает написание C#-кода в интерактивный процесс. В отличие от громоздких IDE, здесь есть только самое нужное: автодополнение на базе Roslyn, подсветка ошибок и быстрый запуск кода. Проект особенно удобен для экспериментов: можно тестировать фрагменты кода без создания полноценного проекта. Под капотом у инструмента движок компилятора C# и редактор AvalonEdit с поддержкой темной темы. 🤖 GitHub @csharp_ci

💡 20 мая в 20:00 пройдет бесплатный вебинар "Реализация инвентаря в Unity" с экспертом, выпустившим 360+ студентов в GameDev
💡 20 мая в 20:00 пройдет бесплатный вебинар "Реализация инвентаря в Unity" с экспертом, выпустившим 360+ студентов в GameDev. Запись: https://otus.pw/DKth/ 💯 Инвентарь — одна из ключевых механик в RPG, survival-играх и даже мобильных проектах. Но 90% разработчиков делают её без возможности масштабирования. Мы это исправим! Основные темы урока: 📍 Создание на основе реального технического задания. 📍Реализация предмета от простого к сложного. 📍 Реализация инвентаря. 📍 Эффекты предметов. 📈 Вебинар будет полезен:  - Unity-разработчикам уровня Junior/Junior+. - Middle Unity-разработчикам. - Программистам на C#, желающим перейти в GameDev.  - Инди-разработчикам. 🎁 Переходите на сайт, чтобы зарегистрироваться на вебинар 20 мая и получить запись предыдущего вебинара: https://otus.pw/DKth/ erid: 2W5zFGDdjV2

✔️ Режим агента теперь доступен в публичной предварительной версии для всех пользователей в Visual Studio 17.14. Режим агента в Visual Studio позволяет задавать задачи с помощью естественного языка — Copilot самостоятельно планирует действия, редактирует кодовую базу, вызывает инструменты и итеративно решает проблемы. В отличие от Copilot Chat или Copilot Edits, агент не останавливается на одной подсказке или правке файла — он действует автономно и выполняет задачу до конца. https://devblogs.microsoft.com/visualstudio/agent-mode-has-arrived-in-preview-for-visual-studio/ @csharp_ci