Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «Библиотека задач по C# | тесты, код, задания»

Библиотека задач по C# | тесты, код, задания
1.3K
984
972
56
5.8K
Задачи и тесты по C# для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/05448a24

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: telemetr.me/proglibrary/9197
Подписчики
Всего
4 890
Сегодня
0
Просмотров на пост
Всего
374
ER
Общий
7.64%
Суточный
6.03%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 1 346 постов
Смотреть все посты
Пост от 27.10.2026 12:01
93
0
0
Какую перегрузку выберут для строки в переменной 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#
Пост от 26.10.2026 12:01
73
0
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#
Пост от 25.10.2026 20:29
74
0
0
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.

В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.

Например, можно совместить два направления по работе с ИИ:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.

📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.

А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.

Акция действует до 31 октября включительно ⏳

⏮️ Пора прокачать свой стек
Пост от 25.10.2026 12:03
114
0
2
Изменится ли структура после вызова метода через интерфейс?

Что выведет код? Нужные 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#
Пост от 24.10.2026 12:05
105
0
1
Изменит ли 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#
Пост от 23.10.2026 12:04
286
0
1
Какие числа напечатают действия, созданные в цикле 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#
Пост от 22.10.2026 20:26
40
0
0
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!

До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.

Например, можно совместить:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.


Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥

Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.

Акция действует до 31 октября включительно ⏳

⏬ Собрать свой учебный билд
Смотреть все посты