TGViewer
yet another dev yet another dev @yet_another_dev · 382 subscribers
Post #154 407
❄️ Самое интересное на C# Advent 2024. Часть 1.

Как и обещал, выкладываю самое интересное за первую неделю на C# Advent 2024.

🟡A .NET coding puzzle: Can strings change?

Очень интересный челлендж со строками. Нужно сделать так, что бы программа ниже вывела “Advent of C#”.

Initialize();

var happyHolidays = "Merry Christmas";

// should output: Advent of C#
Console.WriteLine(happyHolidays);

static void Initialize() {
// Your implementation here
}


Сложность в том, что:

- Изменения можно вносить только в метод Initialize.
- Нельзя менять сигнатуру метода.
- Нельзя использовать Console внутри метода Initialize.
- Нельзя использовать стандартный выходной поток.

Автор рассматривает несколько решений. Все они связаны с поведением .NET при работе со строками-литералами, пулом интернирования строк и указателями.

🟡DI-Cluttering Your Code

Статья о том, как избежать проблем с множеством зависимостей в классах. Но я бы назвал её «Как не надо проектировать системы». Честно говоря, я не представляю, как можно получить контроллер, в который внедряются 34 зависимости. 😵‍💫 Это не шутка – смотрите пример из статьи.

Благодаря Minimal API и Primary Constructors автор решает проблему с большим количеством зависимостей, но мне кажется, корень проблемы лежит немного в другой плоскости.

---

В понедельник утром публикуется моя статья. Версию на русском опубликую на Хабре.
  • 👍 10
More from @yet_another_dev
  1. Sep 21, 2026Опубликовал вчера ролик в одной запрещённой в России соцсети про то, как сходил на выборы.…
  2. Sep 20, 2026Мы пришли в 7:50 и очередь уже была 🥲 Пообщались с другими людьми. Многие приехали из дру…
  3. Sep 19, 2026Post #383
  4. Sep 18, 2026Последние пару недель на чат нападают боты со спамом (прикрыл стикером). Поэтому чат тепер…
  5. Sep 17, 2026Что интересного в этой статье: 1. Потрачено $120К, а агенты суммарно отработали около 3-х…
  6. Sep 17, 2026В Microsoft переписали рантайм GitHub Copilot с TypeScript на Rust при помощи агентов. Под…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →