ar
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام C# (C Sharp) programming

تُعد قناة C# (C Sharp) programming (@csharp_ci) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 18 307 مشتركاً، محتلاً المرتبة 7 335 في فئة التكنولوجيات والتطبيقات والمرتبة 36 870 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 18 307 مشتركاً.

بحسب آخر البيانات بتاريخ 15 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -14، وفي آخر 24 ساعة بمقدار 0، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 19.46‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.27‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 3 563 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 331 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 0.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, api, логика, архитектура, string.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 16 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

18 307
المشتركون
لا توجد بيانات24 ساعات
+87 أيام
-1430 أيام
أرشيف المشاركات
​​vpngate-with-proxy Полезная библиотека VPN GATE для GNU/Linux с поддержкой прокси. ▫️Позволяет подключаться к публичным серверам vpn по адресу https://www.vpngate.net/en/ напрямую или через прокси ▫️Автоматическое настройка DNS для устранения утечек dns ▫️Автоматическая фильтрация не работающих vpn ▫️Может запускать пользовательский скрипты ▪️GitHub https://t.me/csharp_ci

#спринт 11.07 @csharp_ci csharp ❓Хотите перейти на новый уровень в C# разработке? 👉 Приглашаем 12 июля в 20:00 мск вас на от
#спринт 11.07 @csharp_ci csharp ❓Хотите перейти на новый уровень в C# разработке? 👉 Приглашаем 12 июля в 20:00 мск вас на открытый урок в OTUS. Тема: Примитивы многопоточности .Net На уроке разберем такие примитивы многопоточности, как — Барьеры; — Условные события (ManualResetEvent/AutoResetEvent); — Потоко-безопасные очереди (блокируемые и неблокируемые) Дополнительно обсудим: — Как писать код без Thread.Sleep — Где еще можно использовать многопоточность — Чем отличается многопоточный код от асинхронного. 📌 Вебинар пройдет в рамках онлайн-курса «C# Developer. Professional» и позволит вам углубить свои знания о платформе .NET и научиться решать сложные задачи языка C#. Не упустите шанс протестировать курс и стать еще более компетентным C# разработчиком. Больше полезных тем ждет вас на курсе, доступном в рассрочку. 👉 Для участия во встрече пройдите вступительный тест https://otus.pw/umtT/ Нативная интеграция информация о продукте www.otus.ru

📌Telegram API и библиотека TDLib для .NET платформ В Telegram представлено два различных вида API: Telegram Bot API (стандартные боты с пометкой "бот") и Telegram API (клиенты и юзерботы, которые обладают более расширенным функционалом, чем просто боты). Сфокусируемся на последнем виде и рассмотрим, как взаимодействовать с Telegram API, какие инструменты требуются для написания кода своего юзербота на языке C#, как установить эти инструменты правильно и как их использовать.Сборка и подключение библиотеки TDLib TDLib имеет следующие зависимости, т. е. на вашем компьютере это должно быть: - компилятор C++14 (Visual Studio имеет свой компилятор MSVC); - Библиотека OpenSSL; - Библиотека zlib; - gperf (только сборка); - CMake (3.0.2+, только сборка). Для установки необходимых зависимостей, выполните следующие команды в командной строке (обратите внимание, что требуется git): git clone https://github.com/Microsoft/vcpkg.git cd vcpkg git checkout 1b1ae50e1a69f7c659bd7d731e80b358d21c86ad .\bootstrap-vcpkg.bat .\vcpkg.exe install gperf:x64-windows gperf:x86-windows openssl:x64-windows openssl:x86-windows zlib:x64-windows zlib:x86-windows ▪ Далее скачиваем саму библиотеку и собираем её для .NET-проектов: 1. Переходим в папку (в командной строке) /example/csharp, т.е. туда, где будем собирать нашу библиотеку 2. Создаём папку, куда будем собирать библиотеку, и переходим в неё: mkdir build cd build 3. Настраиваем сборку библиотеки в зависимости от разрядности системы (x32 или x64); где "...path to vcpkg...", указываем путь до скачанного ранее vcpkg: Для x32: cmake -A Win32 -DTD_ENABLE_DOTNET=ON -DCMAKE_TOOLCHAIN_FILE=<path to vcpkg>/scripts/buildsystems/vcpkg.cmake ../../.. Для x64: cmake -A x64 -DTD_ENABLE_DOTNET=ON -DCMAKE_TOOLCHAIN_FILE=<path to vcpkg>/scripts/buildsystems/vcpkg.cmake ../../.. 4. Собираем библиотеку в зависимости от требуемой конфигурации (Release или Debug): Для Release: cmake --build . --config Release Для Debug: cmake --build . --config Debug Готово! Теперь в папке build/Release или build/Debug (в зависимости от того, что вы выбрали) находится готовый файл Telegram.Td.dll, который и нужно использовать в своем проекте. Продолжение @csharp_ci

❓Хотите перейти на новый уровень в C# разработке? 👉 Приглашаем 12 июля в 20:00 мск вас на открытый урок в OTUS. Тема: Примит
❓Хотите перейти на новый уровень в C# разработке? 👉 Приглашаем 12 июля в 20:00 мск вас на открытый урок в OTUS. Тема: Примитивы многопоточности .Net На уроке разберем такие примитивы многопоточности, как — Барьеры; — Условные события (ManualResetEvent/AutoResetEvent); — Потоко-безопасные очереди (блокируемые и неблокируемые) Дополнительно обсудим: — Как писать код без Thread.Sleep — Где еще можно использовать многопоточность — Чем отличается многопоточный код от асинхронного. 📌 Вебинар пройдет в рамках онлайн-курса «C# Developer. Professional» и позволит вам углубить свои знания о платформе .NET и научиться решать сложные задачи языка C#. Не упустите шанс протестировать курс и стать еще более компетентным C# разработчиком. Больше полезных тем ждет вас на курсе, доступном в рассрочку. 👉 Для участия во встрече пройдите вступительный тест https://otus.pw/umtT/ Нативная интеграция информация о продукте www.otus.ru

Почему важно всегда улучшать код, над которым работаешь? И какое идеальное количество входных параметров для функции? В стать
Почему важно всегда улучшать код, над которым работаешь? И какое идеальное количество входных параметров для функции? В статье «Как написать чистый код и сделать жизнь проще» технический директор в Газпромбанке Максим Морев описывает принципы чистого кода и делится практическими советами, как его написать. Кстати, эта статья первая в серии материалов про код — дальше разберем конкретные кейсы, как делать надо и не надо. Читай по ссылке — https://vk.cc/cpoI1z

🎮 Обзор Top-3 Open Source игр на C# и ошибок в их коде В мире много хороших игр, но совсем немногие открывают исходный код.
🎮 Обзор Top-3 Open Source игр на C# и ошибок в их коде В мире много хороших игр, но совсем немногие открывают исходный код. В этой статье мы познакомимся, на мой взгляд, с тремя лучшими Open Source играми на C# и разберём наиболее интересные ошибки, найденные в их исходном коде. ▪ Читат статью @csharp_ci

[Успех в геймдеве — ошибка выжившего?💀] Почему у одних получается делать крутые игры, которые приносят деньги и славу, а у других — нет? Как перестать делать посредственные игры и начать делать хиты? Успех в геймдеве — не ошибка выжившего, а цель, которую мы преследуем. Мы стремимся создавать игры для игроков, в которые будет интересно играть. Многие бросают на полпути, но мы настойчивы и готовы дойти до конца. ⚡️Приглашаем на трехдневную онлайн геймдев конференцию, где ты узнаешь, как начать делать хорошие игры. Мы развеим все твои сомнения и докажем, что геймдев — это далеко не ошибка выжившего! На конференции ты получишь кучу практических рекомендаций и поймешь, как создавать игры, которые получат миллионы скачиваний. Регистрируйся тут прямо сейчас, чтобы ничего не пропустить. Программа конференции по ссылке. Звучит как офигенная возможность вкатиться в геймдев. Так что погнали!

[Успех в геймдеве — ошибка выжившего?💀] Почему у одних получается делать крутые игры, которые приносят деньги и славу, а у других — нет? Как перестать делать посредственные игры и начать делать хиты? Успех в геймдеве — не ошибка выжившего, а цель, которую мы преследуем. Мы стремимся создавать игры для игроков, в которые будет интересно играть. Многие бросают на полпути, но мы настойчивы и готовы дойти до конца. ⚡️Приглашаем на трехдневную онлайн геймдев конференцию, где ты узнаешь, как начать делать хорошие игры. Мы развеим все твои сомнения и докажем, что геймдев — это далеко не ошибка выжившего! На конференции ты получишь кучу практических рекомендаций и поймешь, как создавать игры, которые получат миллионы скачиваний. Регистрируйся тут прямо сейчас, чтобы ничего не пропустить. Программа конференции по ссылке. Звучит как офигенная возможность вкатиться в геймдев. Так что погнали!

📚7 лучших библиотек C# для парсинга веб-страниц в 2023 году Существуют различные библиотеки веб-скрейпинга на C# для извлечения данных, в том числе для таких целей, как отслеживание цен, генерация потенциальных клиентов, мониторинг настроений, агрегация финансовых данных и так далее. Так же, существуют разные показатели, которые следует учитывать при выборе лучшей библиотеки для парсинга, и в этой статье мы обсудим 7 лучших библиотек для парсинга на C# для использования в 2023 году. Кроме того, мы увидим примеры, которые помогут вам понять, как эти фреймворки работают. 1. ZenRows API — лучшая библиотека веб-парсинга данных на C# в этом списке. Это API, который обрабатывает обход ботов от вращающихся прокси и безголовых браузеров до CAPTCHA. 2. Puppeteer Sharp — это библиотека для парсинга на C#, которая сканирует веб-страницу с помощью браузера без заголовка. 3. Веб-драйвер Selenium — один из наиболее часто используемых инструментов для парсинга больших объемов данных, таких как фотографии, ссылки и текст. 4. HTML Agility Pack - является наиболее загружаемой библиотекой парсинга C# DOM благодаря своей способности парсить веб-страницы напрямую или через браузер. 5. Scrapy Sharp - это библиотека веб-парсинга на C# с открытым исходным кодом, которая объединяет расширение HTMLAgilityPack с веб-клиентом, который может эмулировать веб-браузер, например jQuery. 6. Iron Web Scraper — это библиотека веб-скрейпинга .Net Core C#, исользуемая для извлечения и анализа данных из интернет-источников. Она способна контролировать разрешенные и запрещенные объекты, сайты, медиа и другие элементы. 7. HttpClient — это библиотека парсинга HTML на C#, которая предоставляет асинхронные функции для извлечения только необработанного содержимого HTML из целевого URL-адреса. Однако для извлечения нужных данных вам по-прежнему необходимо использовать инструмент синтаксического анализа HTML. Подробнее @data_analysis_ml

Полный список сайтов с практическимим задачами для программистов. C Puzzles - cайт с головоломками на языке С. Может быть полезен и тем, кто не знает C, но изучает С-подобные языки. Codeforces — платформа для алгоритмических соревнований. Проводит контесты и раунды с 5 задачами на 2 часа. Есть система рейтинга и два дивизиона. Задачи можно решать и проверять после соревнования. Также есть доступ к тренировкам с задачами с прошлых соревнований. SQLEx- большой кладез знаний для тех, кто изучает SQL. Множество упражнений для отработки навыков и рейтинг участников. HackerRank - сайт будет больше интересен продвинутым программистам, которые уже многое умеют. На этом сайте собрано множество задач на самые разные разделы Computer Science: традиционная алгоритмика, ИИ, машинное обучение и т.д. Если вы решите много задач, то вами могут заинтересоваться работодатели, регуляторно мониторящие эту платформу. C# задачи для начинающих - помощь в решении задач. Готовые программы. Codewars — популярный cборник задач на разные темы, от алгоритмов до шаблонов проектирования. LeetCode — известный сайт с задачами для подготовки к собеседованиям. Можно пообщаться и посмотреть решения других программистов. Timus Online Judge — русскоязычная (хотя английский язык также поддерживается) платформа, на которой более тысячи задач удачно отсортированы по темам и по сложности. TopCoder - популярная американская платформа. Она проводит алгоритмические контесты, а также соревнования по промышленному программированию и марафоны, где задачи требуют исследования и нет единого верного алгоритма. Участникам даются недели на решение таких задач. informatics.mccme.ru - платформа с теоретическим материалом и задачами, удобно разделенными по категориям. Большая база задач с олимпиад школьников также доступна. SPOJ - большой англоязычный сайт с 20000+ задачами на разные темы: DP, графы, структуры данных и др. Иногда проводят неинтересные контесты, если не из страны их проведения. CodeChef — менее крупный аналог Codeforces и TopCoder, тоже с огромным архивом задач и регулярными контестами. Project Euler - сборник 500 задач, проверяющих знание математических алгоритмов. Часто используется на собеседованиях, чтобы оценить алгоритмическую подготовку кандидата. Kaggle - соревнования по анализу данных. Golang tests - канал с тестами по Go CodinGame - сайт для программистов и геймеров, предлагающий большую коллекцию видеоигр, оформленных в виде задач на программирование. Al Zimmermann’s Programming Contests — платформа, на которой регулярно проводятся контесты с задачами на исследование и оптимизацию. Интересен тем, что писать программу необязательно — даются только тестовые данные. Ответы можно расчитывать вручную, или просто гадать их на кофейной гуще. Programming Praxis — сайт, где можно найти много интересных задач. CheckIO — сайт с задачами для программистов всех уровней, который вы проходите в виде игры. Ruby Quiz — сайт с задачами для программистов на Ruby, но решения можно писать и на других языках. Prolog Problems — Подборка задач для программистов, использующих Prolog. Сборник задач от СppStudio - задачи на С++, но их можно и на других языках. Operation Go — практика написания кода на Go в форме браузерной игры. Empire of Code — сайт для программистов, где необходимо писать код, реализующий стратегию и тактику виртуальных бойцов. @csharp_ci

photo content

Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней. Ближайшие мероприятия: • 8-9 июля — Fast Track для бэкенд-разработчиков, пишущих на С++ либо тех, кто готов на него перейти, офер за 2 дня в команду Поискового портала • 15-16 июля — Fast Track для Java-разработчиков, офер за 2 дня в одну из команд Crowd. Зарегистрироваться

⚡ Cledev.OpenAI NET SDK для OpenAI, который включает API ChatGPT, DALL-E и Whisper и тестовую площадку Blazor Server. Install
Cledev.OpenAI NET SDK для OpenAI, который включает API ChatGPT, DALL-E и Whisper и тестовую площадку Blazor Server. Install-Package Cledev.OpenAI Пример с ChatGPT var request = new CreateChatCompletionRequest { Model = ChatModel.Gpt35Turbo.ToStringModel(), Stream = true, MaxTokens = 500, Messages = new List<ChatCompletionMessage> { new("system", "You are a helpful assistant."), new("user", "Who won the world series in 2020?"), new("assistant", "The Los Angeles Dodgers won the World Series in 2020."), new("user", "Where was it played?") } }; var completions = client.CreateChatCompletionAsStream(request); await foreach (var completion in completions) { Console.Write(completion.Choices[0].Message?.Content); } Пример генерации изображений (Dall-E) var request = new CreateImageRequest { Prompt = "Once upon a time", Size = ImageSize.Size512x512.ToStringSize(), ResponseFormat = ImageResponseFormat.B64Json.ToStringFormat(), N = 1 }; var response = await client.CreateImage(Request); <img src="@response.Data[0].Url" /> @csharp_ci

❓Вы уже знакомы с языком C# и хотите перейти на новый уровень? 👉 Тогда приглашаем 28 июня в 20:00 мск вас на открытый урок «
❓Вы уже знакомы с языком C# и хотите перейти на новый уровень? 👉 Тогда приглашаем 28 июня в 20:00 мск вас на открытый урок «Пишем свою библиотеку для работы с базами данных на C#» в OTUS. 📌 Вебинар пройдет в рамках онлайн-курса «C# Developer. Professional» и позволит вам углубить свои знания о платформе .NET и научиться решать сложные задачи, используя встроенные особенности языка C#. 👉 На этом занятии мы рассмотрим стандартные механизмы работы с базами данных на основе ADO.NET и погрузимся в мир рефлексии. Но самое интересное — мы разработаем собственную micro-ORM систему для эффективного доступа к данным в PostgreSQL. 💪 Не упустите шанс протестировать курс и стать еще более компетентным C# разработчиком. Больше полезных тем ждет вас на курсе, доступном в рассрочку. 👉 Для участия во встрече пройдите вступительный тест https://otus.pw/kRKw/ Нативная интеграция информация о продукте www.otus.ru

Что выведет код ?
Anonymous voting

Что выведет код ? using System; class Program { static void Main(string[] args) { int num = 5; int square = 0, cube = 0; Mul
Что выведет код ? using System; class Program { static void Main(string[] args) { int num = 5; int square = 0, cube = 0; Mul (num, ref square, ref cube); Console.WriteLine(square + " & " +cube); Console.ReadLine(); } static void Mul (int num, ref int square, ref int cube) { square = num * num; cube = num * num * num; } } @csharp_ci

🎮 Сборник полезных материалов UNITY для разарабочтиков игр. Про шейдеры, пользовательский интерфейс, искусственный интеллект и многое другоеCompute Shaders in Unity: Multiple Kernels, ComputeBuffers, CPU - GPU data flowHow to make your own game engine (and why) Unity runtime on Arm-based Windows devicesGame ready: Building the ‘Ōhi’a lehua tree with SpeedTree, part 2 ВидеоHow Unexplored 2 Generates Entire Fantasy Worlds from Scratch | Artifacts #1Exploring C# async/await support in Unity 2023.1Unity Interfaces - Complete Guide (Plugins, Abstraction, Events, & More) #unity3dHow to use the Job System + Burst in Unity!System Driven Level Design (My Biggest Mistake)How to Animate EVERYTHING with Absolute Shapes KeysBeing Successful with Open Source in Game Development Игры на UnityUnity Hidden Gems BundleRoyalty Free Game Film And Content Music Mania BundleBlender Animation And Games Book BundleNote AttributeUnityTodo (Editor-Only)Layout PanelGreen Mamba StealthUnity 2D Context steering AI PathfindingEntitiesNavMeshBuilderUnified Universal Blur - URP Blur effect for UnityTextureMergeGpuTrailUnity - Display missing component type infoGameframe.GUI Create Script Dialog Unity Fantastic Fantasy Sale50% Off Dragonsan Studios - Publisher SaleUnityUxmlGenerator UniFlux - Flexible Event Driven and Flux for Unity Editor ScreenshotSnowyOwlBaked Blender Pro Suite (Free Asset Library)The Complete Learn Coding Mega BundlePolygon Assets Bundle ОбзорRemnants of R'lyeh @csharp_ci

📌 Найти максимальный подмассив Сложность: Средняя Условие задачи: дан целочисленный массив, необходимо найти в нем такой подмассив, сумма элементов в котором будет максимальной. Подмассивом называется последовательная часть исходного массива. Пример: Ввод: nums = [-2,1,-3,4,-1,2,1,-5,4] Вывод: 6 Объяснение: 4,-1,2,1] имеет наибольшую сумму 6. Ввод: nums = [5,4,-1,7,8] Вывод: 23 Решение: public class Solution { public int MaxSubArray(int[] nums) { int res = nums[0], sum = nums[0], i = 1; while (i < nums.Length) { if (nums[i] > nums[i] + sum) sum = nums[i]; else sum = nums[i] + sum; if (sum > res) res = sum; i++; } return res; } } Пишите свое решение в комментариях👇 @csharp_ci

@ozon_tech community Platform Meetup 28 июня | 18:00 | Санкт-Петербург online | offline В Ozon тысячи микросервисов на C# и с
@ozon_tech community Platform Meetup 28 июня | 18:00 | Санкт-Петербург online | offline В Ozon тысячи микросервисов на C# и собственная технологическая платформа, которая помогает в несколько кликов создавать нужный сервис. На митапе покажем и расскажем, как она устроена: ⚡️ Михаил Кабищев создаст сервис и запустит его в продакшен прямо на митапе вместе с вами; ⚡️ Ильяс Нежибицкий расскажет про основные механизмы, по которым работают service discovery- и load-balancing-решения. И в частности, про наш Warden, реализующий все виды дискаверинга и балансировки; ⚡️ А ещё ждите Q&A-cессию c СТО Ozon, Антоном Степаненко и Михаилом Кабищевым. Встречаемся в 17:30 по адресу: г. Санкт-Петербург, ул. Херсонская, д. 12-14, 6 этаж. Регистрация

🖥 5 полезных методов расширения для Task. 1. Без контроля Иногда необходимо начать выполнение задачи без ожидания ее окончания, особенно когда результат не критичен. Будем использовать расширенный метод "FireAndForget". При необходимости, мы можем передать обработчик ошибок в метод, который будет вызываться, если задача выдает исключение. public static void FireAndForget( this Task task, Action<Exception> errorHandler = null) { task.ContinueWith(t => { if (t.IsFaulted && errorHandler != null) errorHandler(t.Exception); }, TaskContinuationOptions.OnlyOnFaulted); } Использование: SendEmailAsync().FireAndForget( e => Console.WriteLine(e.Message)); 2. Повтор Для повторного выполнения задачи мы можем создать метод Retry, который позволит нам установить максимальное количество попыток и задержку между ними. Он будет работать до выполнения задачи или достижения максимальной попытки. public static async Task<TResult> Retry<TResult>( this Func<Task<TResult>> taskFactory, int maxRetries, TimeSpan delay) { for (int i = 0; i < maxRetries; i++) { try { return await taskFactory() .ConfigureAwait(false); } catch { if (i == maxRetries - 1) throw; await Task.Delay(delay) .ConfigureAwait(false); } } // не должно достигать этого места return default(TResult); } Использование: var result = await ( () => GetResultAsync()) .Retry(3, TimeSpan.FromSeconds(1)); 3. Действие при сбое Выполняется в случае возникновения ошибок или исключений при выполнении задачи public static async Task OnFailure(this Task task, Action<Exception> onFailure) { try { await task.ConfigureAwait(false); } catch (Exception ex) { onFailure(ex); } } Использование: await GetResultAsync() .OnFailure(ex => Console.WriteLine(ex.Message)); 4. Установка временного ограничения для выполнения задачи можно использовать в тех случаях, когда необходимо предотвратить длительное выполнение данной задачи (особенно, если задача не может быть отменена токеном). public static async Task WithTimeout(this Task task, TimeSpan timeout) { var delayTask = Task.Delay(timeout); var completedTask = await Task.WhenAny(task, delayTask) .ConfigureAwait(false); if (completedTask == delayTask) throw new TimeoutException(); await task; } Использование: await GetResultAsync() .WithTimeout(TimeSpan.FromSeconds(1)); 5. Возврат Периодически бывает необходимо возвращать значение по умолчанию в случае неудачного выполнения задачи. public static async Task<TResult> Fallback<TResult>( this Task<TResult> task, TResult fallbackValue) { try { return await task.ConfigureAwait(false); } catch { return fallbackValue; } } Использование: var result = await GetResultAsync() .Fallback("fallback");Статья @csharp_ci