uz
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali C# (C Sharp) programming analitikasi

C# (C Sharp) programming (@csharp_ci) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 18 307 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 7 338-o'rinni va Rossiya mintaqasida 36 903-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 18 307 obunachiga ega bo‘ldi.

12 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -16 ga, so‘nggi 24 soatda esa 5 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 18.53% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.49% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 3 393 marta ko‘riladi; birinchi sutkada odatda 1 371 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 0 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent .net, api, логика, архитектура, string kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Yuqori yangilanish chastotasi (oxirgi ma’lumot 13 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

18 307
Obunachilar
+524 soatlar
-77 kunlar
-1630 kunlar
Postlar arxiv
#ПятничныйКвиз #ДляСамыхМаленьких
#ПятничныйКвиз #ДляСамыхМаленьких

🚀 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