uz
Feedback
Библиотека шарписта | C#, F#, .NET, ASP.NET

Библиотека шарписта | C#, F#, .NET, ASP.NET

Kanalga Telegram’da o‘tish

Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Ko'proq ko'rsatish

📈 Telegram kanali Библиотека шарписта | C#, F#, .NET, ASP.NET analitikasi

Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 21 708 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 953-o'rinni va Rossiya mintaqasida 30 278-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

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

28 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -37 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 16.02% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.85% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 3 478 marta ko‘riladi; birinchi sutkada odatda 1 705 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 26 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent .net, шарписта, навигация, await, string kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Yuqori yangilanish chastotasi (oxirgi ma’lumot 29 Avgust, 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.

21 708
Obunachilar
+524 soatlar
-57 kunlar
-3730 kunlar
Postlar arxiv
🔢 Сортировка строк с числами Мы уже упоминали эту новость из Preview. Сейчас она в .NET 10, и стоит напомнить, что проблема file1, file10, file2 больше не актуальна. Суть в CompareOptions.NumericOrdering. Issue #13979 висела с 2015, и вот она решена нативно. Флаг заставляет сравнивать цифры как числа, а не посимвольно, так что последовательности вроде версий или имен файлов идут правильно. Протестить:
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;

var files = new List<string> { "file10", "file2", "file1", "file20" };

// Обычная сортировка
var sortedLex = files.OrderBy(f => f).ToList();
Console.WriteLine("Лексикографическая: " + string.Join(", ", sortedLex));
// file1, file10, file20, file2

// Числовая сортировка
var comparer = StringComparer.Create(CultureInfo.CurrentCulture, CompareOptions.NumericOrdering);
var sortedNumeric = files.OrderBy(f => f, comparer).ToList();
Console.WriteLine("Числовая: " + string.Join(", ", sortedNumeric));
// file1, file2, file10, file20
📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

C# в 2026-м: от Task.Run к Agent.Run Зачем просто писать асинхронный код, если можно запустить команду автономных агентов? В
C# в 2026-м: от Task.Run к Agent.Run Зачем просто писать асинхронный код, если можно запустить команду автономных агентов? В новом году Enterprise-разработка переходит на рельсы мультиагентности. Прокачайте свой стек на курсе по AI-агентам: — реализуйте паттерн ReAct для принятия решений внутри .NET систем; — свяжите бизнес-логику с внешними API через n8n; — освойте протокол MCP для межсистемного взаимодействия агентов; — внедрите RAG для мгновенной обработки корпоративных данных. Ваш идеальный дипломный проект: автономная группа агентов, решающая задачи за целый отдел. ❄️ До 12 января действует акция «3 в 1»: курс по ИИ-агентам + 2 курса в подарок. Стать архитектором агентов

📍 Навигация: Вакансии • Задачи • Собесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025
📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

⚡️ DeepSeek + .NET Снова делимся с вами инструкцией по интеграции DeepSeek в .NET: 1. Создаём новое консольное приложение и устанавливаем необходимые пакеты: инициализируем проект и добавляем библиотеки для работы с HTTP-запросами и конфигурацией JSON. 2. Настраиваем файл appsettings.json: добавляем базовый URL и API-ключ DeepSeek для последующего взаимодействия с API. 3. Определяем модели данных: создаём классы для представления структуры запросов и ответов API. 4. Создаём сервис для взаимодействия с API: реализуем логику отправки сообщений и обработки ответов от DeepSeek. 5. Организуем взаимодействие с пользователем: настраиваем цикл, позволяющий пользователю вводить сообщения, отправлять их в API и получать ответы, обеспечивая непрерывный диалог. 📎 Статья с реализацией 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

🤩 Паттерн-матчинг в C# Pattern-matching — это функциональность языка, позволяющая проверять объект на соответствие определённому шаблону и выполнять действия, если объект удовлетворяет этим условиям. Этот механизм помогает писать более читабельный и компактный код, устраняя необходимость в громоздких конструкциях вроде if-else или switch. Паттерн-матчинг в C# активно развивается с каждой новой версией языка и поддерживает множество типов паттернов, таких как: 1️⃣ Проверка типа Используется для проверки типа объекта и его преобразования в этом же выражении:
object obj = "Hello, world!";
if (obj is string str)
{
    Console.WriteLine($"Длина строки: {str.Length}");
}
2️⃣ Константные паттерны Проверяет значение переменной на соответствие константе:
int number = 42;
if (number is 42)
{
    Console.WriteLine("Число равно 42");
}
3️⃣ Реляционные и логические паттерны Сравнивает значения и комбинирует паттерны с помощью логических операторов (and, or, not):
int age = 25;
if (age is > 18 and < 30)
{
    Console.WriteLine("Возраст в диапазоне от 18 до 30");
}
4️⃣ Паттерны в выражении switch Улучшает конструкцию switch, позволяя использовать сложные условия:
object shape = new Circle { Radius = 5 };

string description = shape switch
{
    Circle { Radius: > 0 } c => $"Круг с радиусом {c.Radius}",
    Rectangle { Width: > 0, Height: > 0 } r => $"Прямоугольник {r.Width}x{r.Height}",
    _ => "Неизвестная форма"
};
5️⃣ Свойственные паттерны Позволяют проверять свойства объекта:
Person person = new Person { Name = "Alice", Age = 30 };

if (person is { Name: "Alice", Age: > 25 })
{
    Console.WriteLine("Это Алиса старше 25 лет");
}
6️⃣ Список и позиционные паттерны Используются для проверки списков и кортежей:
int[] numbers = { 1, 2, 3 };

if (numbers is [1, 2, 3])
{
    Console.WriteLine("Массив содержит 1, 2, 3");
}
📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

💾 Как выбрать стратегию кэширования: разбор 7 популярных алгоритмов Кешировать нужно с умом. И нет, LRU — не серебряная пуля
💾 Как выбрать стратегию кэширования: разбор 7 популярных алгоритмов Кешировать нужно с умом. И нет, LRU — не серебряная пуля. В статье вас ждёт разбор алгоритмов: LRU, LFU, FIFO и другие – Примеры, где каждый работает лучше – Плюсы и минусы подходов – Практические советы по выбору стратегии Если проектируете систему с большими нагрузками или оптимизируете производительность — материал будет как раз. ➡️ Читать статью 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

💡 Рейтинг TIOBE за декабрь Остальные языки теряют позиции и поднимаются вверх, а C# стабильно держит своё 5 место. ➡️ Рейтин
💡 Рейтинг TIOBE за декабрь Остальные языки теряют позиции и поднимаются вверх, а C# стабильно держит своё 5 место. ➡️ Рейтинг 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #async_news

👨‍💻 Давайте вновь поспорим, нужны ли комментарии в коде 💯 — Нужны ⚡️ — Можно и без них 📍 Навигация: Вакансии • Задачи • С
👨‍💻 Давайте вновь поспорим, нужны ли комментарии в коде 💯 — Нужны ⚡️ — Можно и без них 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

🤨 Неочевидная проблема FirstOrDefault Метод FirstOrDefault из LINQ часто вводит в заблуждение разработчиков. Он берёт первый элемент из последовательности или выдаёт дефолтное значение типа, когда список пуст. Для структурных типов вроде int это 0, для ссылок null. Возьмём пустой List<int>. Вызов numbers.FirstOrDefault() отдаст 0, и если в бизнес-логике 0 значит нет данных, код сломается тихо.
var numbers = new List<int>();
var result = numbers.FirstOrDefault(); // 0, а не то, что ожидали
Чтобы фиксить, проверяйте Any() заранее или цепляйте DefaultIfEmpty(-1). Тогда для пустоты выйдет контролируемое значение, код станет предсказуемым. 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

🎮 DI в Unity, чтобы проект не слипся в комок Мы уже кидали этот материал в ленту в начале года, и сейчас напомним его снова.
🎮 DI в Unity, чтобы проект не слипся в комок Мы уже кидали этот материал в ленту в начале года, и сейчас напомним его снова. В Unity код часто завязывается на MonoBehaviour и Scene, из за этого зависимости расползаются и тестировать становится больно. ➡️ Статья как раз объясняет, почему с DI в Unity все не так гладко, как в обычном C# 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

❓ Сколько задач нарешали за 2025 год 📍 Навигация: Вакансии • Задачи • Собесы 🐸Библиотека шарписта #лучшее_из_библиотеки_202
Сколько задач нарешали за 2025 год 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

💡 Красочно про LINQ Вспоминаем лучшую шпаргалку 2025 по методам LINQ. 📍 Навигация: Вакансии • Задачи • Собесы 🐸Библиотека
💡 Красочно про LINQ Вспоминаем лучшую шпаргалку 2025 по методам LINQ. 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

От монолитов к мультиагентным системам на C# Интеграция LLM в .NET проекты — это уже не только Semantic Kernel. В 2026 году ф
От монолитов к мультиагентным системам на C# Интеграция LLM в .NET проекты — это уже не только Semantic Kernel. В 2026 году фокус смещается на создание автономных команд агентов, использующих паттерн ReAct. На курсе «Разработка AI-агентов» мы разбираем, как строить такие системы профессионально. В программе: — архитектура «мозга» агента: связка Reasoning + Acting; — оркестрация через n8n и работа с внешними API; — протокол MCP от Anthropic для мультиагентного взаимодействия; — глубокие системы поиска знаний (RAG) для работы с документами. — Это твой шанс войти в рабочий ритм с технологиями будущего. 🧨 До 12 января действует акция «3 в 1»: курс по ИИ-агентам + 2 курса в подарок. Начать обучение

🧑‍💻 Универ, курсы или самоучка Мы уже спорили про это раньше, а сейчас напомним, потому что под конец года многие планируют
🧑‍💻 Универ, курсы или самоучка Мы уже спорили про это раньше, а сейчас напомним, потому что под конец года многие планируют, как учиться дальше. Универ, курсы, самообучение это три разные модели, и у каждой свои риски. ➡️ Если хочется курсы, можно посмотреть, что есть в Proglib Academy. 💬 А у вас что сработало, универ, курсы или самообучение, и почему? 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

🥇 Золотая лихорадка закончилась 2025-й стал годом «скучной стабильности» в айти. Компании не росли — выживали: резали бюджет
🥇 Золотая лихорадка закончилась 2025-й стал годом «скучной стабильности» в айти. Компании не росли — выживали: резали бюджеты, оптимизировали команды, затягивали найм. 2383 отклика на 1 вакансию. −20% позиций за год. 30-50% сокращений в e-commerce. ➡️ Полный разбор рынка 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта

🎮 Память в Unity и лаги, что реально чинит FPS Мы делились этой статьей, и сейчас напомним. Главная мысль простая, лаги част
🎮 Память в Unity и лаги, что реально чинит FPS Мы делились этой статьей, и сейчас напомним. Главная мысль простая, лаги часто приходят не из за рендера, а из за памяти и резких скачков GC. ➡️ В статье объясняют, почему аллокации и сборщик мусора могут давать фризы и как с этим жить 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

⚡️ Асинхронная обработка в C# Тогда мы уже рассказывали про IAsyncEnumerable и await foreach. Сейчас повторяем, потому что эт
⚡️ Асинхронная обработка в C# Тогда мы уже рассказывали про IAsyncEnumerable и await foreach. Сейчас повторяем, потому что это одна из тех фич, которую многие видели, но мало кто применяет осознанно. Асинхронные потоки IAsyncEnumerable позволяют эффективно обрабатывать последовательности данных, поступающих с задержками. В целом это положительно влияет на пользовательский опыт и скорость работы приложения 1. Базовый синтаксис:
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

static async IAsyncEnumerable<int> GenerateSequenceAsync(int count, [EnumeratorCancellation] CancellationToken token = default)
{
    for (int i = 0; i < count; i++)
    {
        // Симулируем асинхронную задержку
        await Task.Delay(100, token);
        yield return i;
    }
}

static async Task ConsumeAsync()
{
    await foreach (var item in GenerateSequenceAsync(5))
    {
        Console.WriteLine($"Получено значение: {item}");
    }
}
• Ключевое слово async перед IAsyncEnumerable<T>. • yield return внутри асинхронного метода. • await foreach для потребления. 2. Обработка отмены и ошибок:
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(1));
try
{
    await foreach (var item in GenerateSequenceAsync(10, cts.Token).WithCancellation(cts.Token))
    {
        Console.WriteLine(item);
    }
}
catch (OperationCanceledException)
{
    Console.WriteLine("Операция была отменена.");
}
• Передаём CancellationToken через атрибут [EnumeratorCancellation]. • Используем метод расширения .WithCancellation(token) для явной поддержки отмены в await foreach. 3. Советы по применению • Всегда учитывайте семантику отмены: пробрасывайте CancellationToken до источника потока. • Избегайте долгих синхронных операций внутри цикла генерации — это сведёт на нет преимущества асинхронности. • При больших объёмах данных комбинируйте с буферизацией через Channel<T> для сглаживания пиковой нагрузки. 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

#️⃣ Async Task в Unity против корутин Мы уже делились этим разбором в марте, и сейчас самое время напомнить. В статье хорошо
#️⃣ Async Task в Unity против корутин Мы уже делились этим разбором в марте, и сейчас самое время напомнить. В статье хорошо объясняют, что корутины это не настоящая параллельность, они просто размазывают выполнение по кадрам и все равно живут в основном потоке. Поэтому если внутри корутины сделать блокирующую работу, игра встанет. ➡️ Освежить статью в памяти 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

👀 Какую IDE выбрать для C# в 2026 Мы уже поднимали тему выбора IDE. Сейчас повторим, потому что смена IDE часто совпадает с
👀 Какую IDE выбрать для C# в 2026 Мы уже поднимали тему выбора IDE. Сейчас повторим, потому что смена IDE часто совпадает с переходом на новый проект или новый стек. 👍 За Visual Studio 🔥 За Rider Остальное в комменты 👇 💬 Что у вас сейчас в роли основной IDE и что бесит больше всего в выбранном варианте? 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта #лучшее_из_библиотеки_2025

🎆 Праздники — время лучшего контента 2025 Новый год наступил, но мы не уходим на каникулы. Все праздники публикуем топовые п
🎆 Праздники — время лучшего контента 2025 Новый год наступил, но мы не уходим на каникулы. Все праздники публикуем топовые посты года — те, что вы сохраняли в закладки и пересылали коллегам. ➡️ Ежедневные порции лучшего по хэштегу #лучшее_из_библиотеки_2025 📍 Навигация: ВакансииЗадачиСобесы 🐸Библиотека шарписта