ch
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

前往频道在 Telegram

По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

显示更多

📈 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