Библиотека задач по C# | тесты, код, задания
前往频道在 Telegram
Задачи и тесты по C# для тренировки и обучения. Учиться у нас: https://clc.to/3e1SCw По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
显示更多4 891
订阅者
-424 小时
-137 天
-4330 天
正在加载数据
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
十月 '2610月 '26
十月 '26
+22
在2个频道中
九月 '26
+42
在0个频道中
Get PRO
八月 '26
+33
在1个频道中
Get PRO
七月 '26
+71
在3个频道中
Get PRO
六月 '26
+53
在4个频道中
Get PRO
五月 '26
+101
在2个频道中
Get PRO
四月 '26
+86
在3个频道中
Get PRO
三月 '26
+34
在2个频道中
Get PRO
二月 '26
+82
在4个频道中
Get PRO
一月 '26
+72
在2个频道中
Get PRO
十二月 '25
+89
在2个频道中
Get PRO
十一月 '25
+43
在1个频道中
Get PRO
十月 '25
+73
在1个频道中
Get PRO
九月 '25
+80
在2个频道中
Get PRO
八月 '25
+82
在5个频道中
Get PRO
七月 '25
+94
在4个频道中
Get PRO
六月 '25
+89
在5个频道中
Get PRO
五月 '25
+100
在5个频道中
Get PRO
四月 '25
+107
在2个频道中
Get PRO
三月 '25
+202
在52个频道中
Get PRO
二月 '25
+129
在31个频道中
Get PRO
一月 '25
+196
在35个频道中
Get PRO
十二月 '24
+266
在35个频道中
Get PRO
十一月 '24
+223
在37个频道中
Get PRO
十月 '24
+216
在35个频道中
Get PRO
九月 '24
+197
在35个频道中
Get PRO
八月 '24
+135
在35个频道中
Get PRO
七月 '24
+177
在35个频道中
Get PRO
六月 '24
+169
在30个频道中
Get PRO
五月 '24
+105
在35个频道中
Get PRO
四月 '24
+33 607
在69个频道中
Get PRO
三月 '24
+346
在31个频道中
Get PRO
二月 '24
+2 457
在30个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 26 十月 | +1 | |||
| 25 十月 | +1 | |||
| 24 十月 | +1 | |||
| 23 十月 | +1 | |||
| 22 十月 | +1 | |||
| 21 十月 | 0 | |||
| 20 十月 | +2 | |||
| 19 十月 | 0 | |||
| 18 十月 | 0 | |||
| 17 十月 | +1 | |||
| 16 十月 | +2 | |||
| 15 十月 | 0 | |||
| 14 十月 | 0 | |||
| 13 十月 | +2 | |||
| 12 十月 | +7 | |||
| 11 十月 | 0 | |||
| 10 十月 | +1 | |||
| 09 十月 | +2 | |||
| 08 十月 | 0 | |||
| 07 十月 | 0 | |||
| 06 十月 | 0 | |||
| 05 十月 | 0 | |||
| 04 十月 | 0 | |||
| 03 十月 | 0 | |||
| 02 十月 | 0 | |||
| 01 十月 | 0 |
频道帖子
Можно ли записать число в массив строк через переменную object[]?
Что произойдёт при выполнении кода? Нужные using подключены.
object[] values = new string[1];
values[0] = 42;
Console.WriteLine("OK");
👾 — OK — число сохранится как object
👍 — ArrayTypeMismatchException
🥰 — Ошибка компиляции
⚡️ — OK — число превратится в строку
Ответ: 👍 — ArrayTypeMismatchException.
string[] можно присвоить переменной object[] благодаря ковариантности массивов. Но сам массив остаётся массивом строк. Запись int проходит компиляцию, а во время выполнения проверка типа вызывает ArrayTypeMismatchException.
Правило в документации C#
Библиотека задач по C#| 2 | 📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.
В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.
Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.
А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.
Акция действует до 31 октября включительно ⏳
⏮️ Пора прокачать свой стек | 304 |
| 3 | Изменится ли структура после вызова метода через интерфейс?
Что выведет код? Нужные using подключены.
interface ICounter { void Increment(); }
struct Counter : ICounter
{
public int Value;
public void Increment() { Value++; }
}
class Program
{
static void Main()
{
Counter original = new Counter();
ICounter boxed = original;
boxed.Increment();
Console.WriteLine(original.Value);
Console.WriteLine(((Counter)boxed).Value);
}
}
👾 — 1 и 1
👍 — 0 и 0
🥰 — 0 и 1
⚡️ — Ошибка компиляции
Ответ: 🥰 — 0 и 1.
При преобразовании Counter к ICounter происходит упаковка: в объект помещается копия структуры. Increment изменяет эту упакованную копию. Исходная структура сохраняет Value = 0, а при распаковке boxed получаем Value = 1.
Правило в документации C#
Библиотека задач по C# | 320 |
| 4 | Изменит ли finally значение, уже выбранное для return?
Что выведет код? Нужные using подключены.
class Program
{
static int GetValue()
{
int value = 1;
try { return value; }
finally { value = 2; }
}
static void Main()
{
Console.WriteLine(GetValue());
}
}
👾 — 1
👍 — 2
🥰 — Ничего: finally отменит return
⚡️ — Ошибка компиляции
Ответ: 👾 — 1.
Выражение return value вычисляется до выполнения finally: результатом становится число 1. Затем finally меняет локальную переменную, но уже выбранное возвращаемое значение от этого не меняется.
Правило в документации C#
Библиотека задач по C# | 383 |
| 5 | Какие числа напечатают действия, созданные в цикле for?
Что выведет код? Нужные using подключены.
var actions = new List<Action>();
for (int i = 0; i < 3; i++)
{
actions.Add(() => Console.Write(i));
}
foreach (var action in actions)
action();
👾 — 012
👍 — Ошибка компиляции
🥰 — 123
⚡️ — 333
Ответ: ⚡️ — 333.
Все три лямбды захватывают одну переменную i из for. Действия выполняются после завершения цикла, когда i равна 3. Это отличается от захвата переменной foreach в современных версиях C#.
Правило в документации C#
Библиотека задач по C# | 396 |
| 6 | 😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!
До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.
Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥
Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.
Акция действует до 31 октября включительно ⏳
⏬ Собрать свой учебный билд | 394 |
| 7 | Что попадёт в результат LINQ после изменения списка?
Что выведет код? Нужные using подключены.
var numbers = new List<int> { 1, 2, 3 };
var selected = numbers.Where(n => n > 1);
numbers.Add(4);
Console.WriteLine(string.Join(", ", selected));
👾 — 2, 3 — запрос запомнил исходный список
👍 — 2, 3, 4 — список читается при переборе
🥰 — 4 — запрос видит только новые элементы
⚡️ — InvalidOperationException
Ответ: 👍 — 2, 3, 4 — список читается при переборе.
Where выполняет отбор при переборе. Добавление произошло до начала перебора в string.Join, поэтому в результат попадёт и 4.
Правило в документации C#
Библиотека задач по C# | 454 |
| 8 | 🔥 Middle C# на собеседовании у Senior из европейского highload | 20 октября, 19:00 МСК
Можно знать технологию и всё равно завалить техническое интервью. Часто дело не в знаниях, а в том, как ты отвечаешь и какие детали упускаешь ☝🏻
Александр Моргунов, Senior C# разработчик с 7+ годами опыта в европейском highload, проведёт мок-собеседование в прямом эфире!
Отвечает разработчик-доброволец, вопросов он заранее не знает. После каждого ответа Александр разберёт, что было хорошо, где кандидат потерял баллы и как стоило ответить.
Проверяй себя вместе с кандидатом и узнай, к чему подготовиться до своего собеса.
🚀 Это бесплатно
Эфир проходит в рамках менторской программы ШОРТКАТ для C# разработчиков
Ссылка на эфир в боте 👉 @shortcut_csharp_bot
Реклама.
О рекламодателе. | 515 |
| 9 | checked вокруг вызова защитит умножение внутри другого метода?
Метод Multiply принимает два int и возвращает их произведение в unchecked-контексте. Выполняется выражение checked(Multiply(int.MaxValue, 2)). Пользовательских операторов нет.
Что получится?
👾 — -2
👍 — OverflowException
🥰 — 4294967294
⚡️ — Ошибка компиляции
Библиотека задач по C# | 674 |
| 10 | Record class скопировали через with. Вложенный список тоже скопировался?
У объекта есть свойство Tags — изменяемый список строк. Используется стандартный copy constructor. В нём один элемент. Создали copy выражением original with { } и добавили второй элемент в copy.Tags.
Сколько элементов теперь в original.Tags?
👾 — Два, оба объекта ссылаются на один список
👍 — Один, with копирует весь граф объектов
🥰 — Ноль, исходный список очищается
⚡️ — Ошибка компиляции, record запрещает изменяемые свойства
Библиотека задач по C# | 942 |
| 11 | 👀 Как вы смотрите видео?
Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране?
Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить.
🕰️ Опрос займёт около 3 минут.
В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео.
🔗 Поделиться опытом
🐸 Библиотека программиста | 449 |
| 12 | Что выводит Console.WriteLine("Hello".ToUpper());?
👾 — HELLO
👍 — hello
🥰 — Error
⚡️ — Ничего из вышеперечисленного
Библиотека задач по C# | 952 |
| 13 | 😭 Как не потратить недельный лимит AI-кодинга за три дня?
Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.
🔘 Поговорим о том:
— когда дорогая модель действительно нужна, а когда хватит дешёвой;
— сколько стоит один прогон и куда уходят токены;
— какие задачи можно отдавать субагентам;
— как настроить маршрутизацию моделей;
— что проверять в AI-коде перед merge.
✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после.
⬇️ 18 сентября, 19:00 МСК
⬇️ 1,5 часа · бесплатно
⬇️ Арсений Харланов и Олег Лайок
💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре.
🔗 Зарегистрироваться на вебинар | 792 |
| 14 | 🔍Тестовое собеседование с Senior C# разработчиком уже завтра
15 сентября (уже завтра!) в 19:00 по МСК приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle C# разработчика.
Как это будет:
📂 Александр Моргунов, старший C# разработчик с опытом 7+ лет в Европейских высоконагруженных сервисах, будет задавать реальные вопросы и задачи разработчику-добровольцу;
📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью;
📂 В конце можно будет задать любой вопрос Александру.
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_csharp_bot
Реклама.
О рекламодателе. | 439 |
| 15 | ⚡️⚡️Актуальные темы .NET на DotNext 2026
В .NET одновременно происходит много интересного: C# получает новые возможности, .NET 10 меняет расклад между Native AOT и JIT, а в разработке появляются ИИ-агенты, которые берут на себя часть инженерной работы.
На DotNext 2026 разберем как вещи, которые происходят на уровне машинного кода, так и вполне прикладные вопросы архитектуры и разработки.
📅 25–26 сентября, Москва + online
Выбрали 8 тем из программы, среди которых не только доклады, но и хардкорный воркшоп, чтобы показать этот диапазон:
— как заставить Transactional Outbox одновременно быть строгим и параллельным;
— зачем ASP.NET Core модульный монолит и как собрать его без микросервисов;
— где Native AOT выигрывает у JIT в .NET 10;
— что происходит с циклами, inlining и bounds checks в C# и Go;
— как меняется SDLC, когда в команде появляются ИИ-агенты;
— что принесут discriminated unions в C# 15;
— как проектировать асинхронное взаимодействие в распределенных системах (воркшоп).
Все подробности — в карточках и на сайте конференции.
🌟По промокоду csharpproblems — персональные билеты дешевле
→ Программа DotNext
→ Купить билет | 853 |
| 16 | Какое ключевое слово C# используется для изменения данных и поведения базового класса путем замены члена базового класса новым производным членом?
👾 — overrides
👍 — protected
🥰 — base
⚡️ — new
🐸Библиотека задач по C# | 616 |
| 17 | 👅 Самое сложное — выбрать не курс, а направление
Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science.
🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз.
В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков.
Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎
🔗 Узнать подробнее
🏃♀️ Proglib Academy | 375 |
| 18 | Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇 | 534 |
| 19 | Что делает оператор ! (null-forgiving)?
👾 — Добавляет runtime-проверку и бросает NullReferenceException при null
👍 — Лишь подавляет предупреждение анализатора nullable; на рантайм не влияет
🥰 — Навсегда делает тип non-nullable
⚡️ — Автоматически кидает ArgumentNullException
Библиотека задач по C# | 810 |
| 20 | 🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами
Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️
На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка.
⚡️ Предзапись на осенний поток уже открыта
🏃♀️ Proglib Academy | 485 |
