Русский
Открыть в Telegram
ББиблиотека задач по C# | тесты, код, задания

Библиотека задач по C# | тесты, код, задания

@csharp_problems_lib · канал · Технологии · в индексе с 29.05.2026
4 878подписчиков−30 за неделю
459средний охват поста
9.4%ER — охват к подписчикам
4постов за 30 дней
Библиотека задач по C# | тесты, код, задания
Фотография
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 17 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠
2 · 689 ·
Б
Что выводит Console.WriteLine("Hello".ToUpper());? 👾 — HELLO 👍 — hello 🥰 — Error ⚡️ — Ничего из вышеперечисленного Библиотека задач по C#
1 · 702 ·
Б
Библиотека задач по C# | тесты, код, задания
👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране? Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить. 🕰️ Опрос займёт около 3 минут. В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео. 🔗 Поделиться опытом 🐸 Библиотека программиста
314 ·
Б
Библиотека задач по C# | тесты, код, задания
Record class скопировали через with. Вложенный список тоже скопировался? У объекта есть свойство Tags — изменяемый список строк. Используется стандартный copy constructor. В нём один элемент. Создали copy выражением original with { } и добавили второй элемент в copy.Tags. Сколько элементов теперь в original.Tags? 👾 — Два, оба объекта ссылаются на один список 👍 — Один, with копирует весь граф объектов 🥰 — Ноль, исходный список очищается ⚡️ — Ошибка компиляции, record запрещает изменяемые свойства Библиотека задач по C#
1 · 729 ·
Библиотека задач по C# | тесты, код, задания
checked вокруг вызова защитит умножение внутри другого метода? Метод Multiply принимает два int и возвращает их произведение в unchecked-контексте. Выполняется выражение checked(Multiply(int.MaxValue, 2)). Пользовательских операторов нет. Что получится? 👾 — -2 👍 — OverflowException 🥰 — 4294967294 ⚡️ — Ошибка компиляции Библиотека задач по C#
1 · 424 ·
Б
Фотография
🔥 Middle C# на собеседовании у Senior из европейского highload | 20 октября, 19:00 МСК Можно знать технологию и всё равно завалить техническое интервью. Часто дело не в знаниях, а в том, как ты отвечаешь и какие детали упускаешь ☝🏻 Александр Моргунов, Senior C# разработчик с 7+ годами опыта в европейском highload, проведёт мок-собеседование в прямом эфире! Отвечает разработчик-доброволец, вопросов он заранее не знает. После каждого ответа Александр разберёт, что было хорошо, где кандидат потерял баллы и как стоило ответить. Проверяй себя вместе с кандидатом и узнай, к чему подготовиться до своего собеса. 🚀 Это бесплатно Эфир проходит в рамках менторской программы ШОРТКАТ для C# разработчиков Ссылка на эфир в боте 👉 @shortcut_csharp_bot Реклама. О рекламодателе.
3 · 368 ·
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Что попадёт в результат 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#
1 · 657 ·
Б
Фотография
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один. Например, можно совместить: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд
571 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Какие числа напечатают действия, созданные в цикле 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#
1 · 582 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Изменит ли 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#
3 · 563 ·
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Изменится ли структура после вызова метода через интерфейс? Что выведет код? Нужные 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#
5 · 523 ·
Б
Фотография
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок. Например, можно совместить два направления по работе с ИИ: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. 📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек
519 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Можно ли записать число в массив строк через переменную object[]? Что произойдёт при выполнении кода? Нужные using подключены. object[] values = new string[1]; values[0] = 42; Console.WriteLine("OK"); 👾 — OK — число сохранится как object 👍 — ArrayTypeMismatchException 🥰 — Ошибка компиляции ⚡️ — OK — число превратится в строку Ответ: 👍 — ArrayTypeMismatchException. string[] можно присвоить переменной object[] благодаря ковариантности массивов. Но сам массив остаётся массивом строк. Запись int проходит компиляцию, а во время выполнения проверка типа вызывает ArrayTypeMismatchException. Правило в документации C# Библиотека задач по C#
1 · 485 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Какую перегрузку выберут для строки в переменной object? Что выведет код? Нужные using подключены. class Program { static void Show(object value) { Console.Write("object"); } static void Show(string value) { Console.Write("string"); } static void Main() { object value = "hello"; Show(value); Show((string)value); } } 👾 — stringstring 👍 — objectobject 🥰 — Ошибка компиляции ⚡️ — objectstring Ответ: ⚡️ — objectstring. В первом вызове тип аргумента при компиляции — object, поэтому выбирается Show(object). После явного приведения аргумент имеет тип string и выбирается Show(string). Здесь нет dynamic, и фактическое содержимое переменной не переключает перегрузку. Правило в документации C# Библиотека задач по C#
503 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Что получится, если соединить null и bool? C# 12. Что выведет код? using System; bool? value = null; Console.WriteLine($"{value & false} {value | true}"); 👾 — False True 👍 — null null 🥰 — False False ⚡️ — Ошибка компиляции Ответ: 👾 — False True. Для bool? работают три значения: true, false и null. У выражения value & false результат всегда false. У value | true — всегда true. Неизвестное значение второго операнда этому не мешает. Документация: логические операторы для bool? ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
1 · 487 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Что выполнится раньше: фильтр catch или finally? C# 12. Что выведет код? using System; try { try { throw new Exception(); } finally { Console.Write("F"); } } catch (Exception) when (Check()) { Console.Write("C"); } static bool Check() { Console.Write("Q"); return true; } 👾 — FQC 👍 — QFC 🥰 — QCF ⚡️ — FCQ Ответ: 👍 — QFC. Сначала среда ищет подходящий обработчик и проверяет фильтр — печатается Q. Затем выполняет finally при выходе из вложенного блока — F. После этого управление попадает в catch — C. Документация: фильтры исключений ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
3 · 502 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Равны ли кортежи с разными именами полей? C# 12. Что выведет код? using System; var first = (X: 1, Y: 2); var second = (A: 1, B: 2); Console.WriteLine(first == second); 👾 — Ошибка компиляции 👍 — False 🥰 — True ⚡️ — Исключение при сравнении Ответ: 🥰 — True. Оператор == сравнивает соответствующие элементы кортежей. Имена полей в сравнении не участвуют: здесь сравниваются 1 с 1 и 2 с 2. Документация: равенство кортежей ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
1 · 474 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Что попадёт в params, если передать null? C# 12, проверка nullable отключена. Что выведет код? using System; Show(null); Show((object)null); static void Show(params object[] items) { Console.Write( items is null ? "null " : items.Length + " " ); } 👾 — 1 1 👍 — 0 1 🥰 — null null ⚡️ — null 1 Ответ: ⚡️ — null 1. В первом вызове null передаётся как сам массив. Во втором приведение к object заставляет передать один элемент: компилятор создаёт массив длины 1, который содержит null. Документация: параметры params ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
2 · 421 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
В каком порядке выполнится код с await? C# 12. Что выведет код? using System; using System.Threading.Tasks; var gate = new TaskCompletionSource<bool>(); async Task Work() { Console.Write("A"); await gate.Task; Console.Write("C"); } var task = Work(); Console.Write("B"); gate.SetResult(true); await task; 👾 — ABC 👍 — BAC 🥰 — ACB ⚡️ — Порядок каждый раз разный Ответ: 👾 — ABC. Вызов Work() сразу печатает A. На незавершённой задаче выполнение метода приостанавливается, и вызывающий код печатает B. Только после SetResult метод может продолжить работу и вывести C. Документация: выполнение асинхронного метода ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
1 · 432 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Получит ли класс готовый метод из интерфейса? C# 12. Скомпилируется ли программа? using System; var item = new Item(); item.Show(); interface IShow { void Show() => Console.Write("I"); } class Item : IShow { } 👾 — Да, выведет I 👍 — Нет, у Item нет доступного метода Show 🥰 — Да, но ничего не выведет ⚡️ — Да, но при вызове будет исключение Ответ: 👍 — Нет, у Item нет доступного метода Show. Реализация метода в интерфейсе не добавляет этот метод в класс. Вызвать её можно через переменную интерфейсного типа: IShow item = new Item(); item.Show();. Такой код выведет I. Документация: реализация методов в интерфейсах ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
1 · 400 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Какая переменная изменит элемент массива? C# 12. Что выведет код? using System; int[] values = { 1, 2 }; int copy = First(values); ref int alias = ref First(values); copy = 7; alias = 9; Console.WriteLine($"{values[0]} {copy}"); static ref int First(int[] items) => ref items[0]; 👾 — 1 7 👍 — 7 7 🥰 — 9 7 ⚡️ — 9 9 Ответ: 🥰 — 9 7. Обычное присваивание сохраняет в copy отдельное число. Переменная alias объявлена с ref и ссылается на элемент массива. Запись в неё меняет values[0]. Документация: возврат по ссылке ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
2 · 366 ·
Б
Библиотека задач по C# | тесты, код, задания
Ссылка
нажмите — покажем
Могут ли две проверки на null дать разные ответы? C# 12, проверка nullable отключена. Что выведет код? using System; var value = new Item(); Console.WriteLine( $"{value == null} {value is null}" ); class Item { public static bool operator ==(Item a, Item b) => true; public static bool operator !=(Item a, Item b) => false; public override bool Equals(object other) => ReferenceEquals(this, other); public override int GetHashCode() => 0; } 👾 — False False 👍 — True True 🥰 — Ошибка компиляции ⚡️ — True False Ответ: ⚡️ — True False. Выражение value == null вызывает наш оператор, который всегда возвращает true. Проверка value is null перегруженный оператор не вызывает. Объект существует, поэтому её результат — false. Документация: проверка is null ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
2 · 341 ·
Б
Библиотека задач по C# | тесты, код, задания
👀 Сколько строк останется в HashSet с разными правилами сравнения? C# 12 / .NET 8. Что выведет код? using System; using System.Collections.Generic; var words = new[] { "Go", "GO", "go" }; var exact = new HashSet<string>(words, StringComparer.Ordinal); var ignore = new HashSet<string>(words, StringComparer.OrdinalIgnoreCase); Console.WriteLine($"{exact.Count} {ignore.Count}"); 👾 — 3 1 👍 — 3 3 🥰 — 1 1 ⚡️ — 1 3 Ответ: 👾 — 3 1. Ordinal учитывает регистр, поэтому все три строки различаются. OrdinalIgnoreCase считает их одинаковыми, и в этом множестве остаётся один элемент. Документация ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
316 ·
Б
Библиотека задач по C# | тесты, код, задания
👀 В каком порядке закроются два ресурса с using var? C# 12 / .NET 8. Что выведет код? using System; { using var first = new Resource("A"); using var second = new Resource("B"); Console.Write("X"); } sealed class Resource(string name) : IDisposable { public void Dispose() => Console.Write(name); } 👾 — ABX 👍 — XAB 🥰 — XBA ⚡️ — BAX Ответ: 🥰 — XBA. Сначала выполняется тело блока и печатается X. При выходе ресурсы освобождаются в обратном порядке объявления: second печатает B, затем first — A. Документация ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
1 · 244 ·
Б
Библиотека задач по C# | тесты, код, задания
👀 Вызовется ли функция индекса внутри ?[], если массив равен null? C# 12 / .NET 8. Что выведет код? using System; int calls = 0; int[] values = null; int? value = values?[Next()]; Console.WriteLine($"{calls} {value is null}"); int Next() { calls++; return 0; } 👾 — 1 True 👍 — 0 True 🥰 — 0 False ⚡️ — NullReferenceException Ответ: 👍 — 0 True. Если получатель равен null, оператор ?[] возвращает null и пропускает вычисление индекса. Next не вызывается, поэтому calls остаётся равным нулю. Документация ➡️ Навигация: База знаний • Задачи • Собеседования • Вакансии 🐸 Библиотека программиста
156 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем