C# 1001 notes
6.54K subscribers
343 photos
9 videos
2 files
320 links
Регулярные короткие заметки по C# и .NET.

Просто о сложном для каждого.

admin - @haarrp
Download Telegram
🔥 Лучшая фича C# за последние годы? Pattern Matching

Зачем он нужен:
Pattern matching позволяет элегантно проверять объект на определённые свойства:

- Является null или не null
- Является объектом конкретного типа
- Имеет свойство с определённым значением

В связке со switch-выражениями и record-типами это превращает код в лаконичный и выразительный.

📌 Пример:

static string PrintShape(object shape) =>
shape switch
{
null => "Нет объекта",
Circle c => $"Круг с радиусом {c.Radius}",
Rectangle { Width: > 0, Height: > 0 } r => $"Прямоугольник {r.Width}x{r.Height}",
_ => "Неизвестная фигура"
};
⚡️ .NET-приложения должны быть устойчивыми — и сделать их надежнее реально за пару минут.

В .NET 8 и выше есть библиотеки от Microsoft и обновлённый API Polly — популярной библиотеки для повышения надёжности и обработки сбоев.

С Polly можно легко настроить стратегии:
- повтор запросов (Retry)
- резервные сценарии (Fallback)
- ограничение времени (Timeout)
- контроль частоты (Rate-limiting)
- автоматическое отключение при сбоях (Circuit breaker)

Эти механизмы помогают облачным приложениям оставаться живыми даже в условиях ошибок и перегрузок.

Подробный разбор тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Знаете ли вы, что с помощью информационных атрибутов можно получить информацию о вызывающем методе?

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Что мне нравится в **.NET Aspire** 👇

👉 С ним невероятно просто запускать полезные сервисы. Всего в несколько строк кода можно поднять:
- базу данных
- Redis
- LLM
- reverse proxy
- message broker

Можно даже масштабировать сервисы, чтобы проверить сценарии с конкурентной нагрузкой.

Если вы ещё не пробовали построить своё первое Aspire-приложение — у меня есть подробный гайд о том, как я мигрировал свой .NET проект в Aspire.

🟠Читать здесь: https://milanjovanovic.tech/blog/dotnet-aspire-a-game-changer-for-cloud-native-development
Please open Telegram to view this post
VIEW IN TELEGRAM