Дано List<Point> где Point — struct с изменяемым X. Что сделает код?
👾 — Увеличит X у всех элементов
👍 — Скомпилируется, но ничего в списке не изменит
🥰 — Не скомпилируется из-за запрета изменять struct в foreach
⚡️ — Изменит только первый элемент
Библиотека задач по C#
foreach (var p in points) { p.X++; }
👾 — Увеличит X у всех элементов
👍 — Скомпилируется, но ничего в списке не изменит
🥰 — Не скомпилируется из-за запрета изменять struct в foreach
⚡️ — Изменит только первый элемент
Библиотека задач по C#
👾21👍10🥰4
Что верно об async void методах?
👾 — Эквивалентны async Task, их можно ожидать и ловить исключения в вызывающем коде
👍 — Исключения не возвращаются вызывающему; они всплывают в контекст синхронизации/UnhandledException, применять стоит только для обработчиков событий
🥰 — Компилятор запрещает async void во всех случаях
⚡️ — Их можно собирать в Task.WhenAll как обычные задачи
Библиотека задач по C#
👾 — Эквивалентны async Task, их можно ожидать и ловить исключения в вызывающем коде
👍 — Исключения не возвращаются вызывающему; они всплывают в контекст синхронизации/UnhandledException, применять стоит только для обработчиков событий
🥰 — Компилятор запрещает async void во всех случаях
⚡️ — Их можно собирать в Task.WhenAll как обычные задачи
Библиотека задач по C#
👍21
Что происходит с продолжениями (ContinueWith/await) при вызове SetResult у TaskCompletionSource, и как избежать их исполнения «в линию» на потоке вызывающего?
👾 — Всегда выполняются в пуле потоков; ничего делать не нужно
👍 — Могут выполниться синхронно на вызывающем потоке; используйте new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously)
🥰 — Всегда возвращаются в захваченный SynchronizationContext; нужен ConfigureAwait(false)
⚡️ — Выполняются синхронно только если задача уже завершена
Библиотека задач по C#
👾 — Всегда выполняются в пуле потоков; ничего делать не нужно
👍 — Могут выполниться синхронно на вызывающем потоке; используйте new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously)
🥰 — Всегда возвращаются в захваченный SynchronizationContext; нужен ConfigureAwait(false)
Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Каково значение по умолчанию для логической переменной в C#?
👾 — true
👍 — false
🥰 — 0
🥱 — 1
Библиотека задач по C#
👾 — true
👍 — false
🥰 — 0
🥱 — 1
Библиотека задач по C#
👍48
🧠 Прокачай мозг, а не только код
Вместо бесконечных туториалов на YouTube предлагаем разобрать, что делает код читаемым, а архитектуру — устойчивой.
🧩 Курсы, полезные для любого ЯП:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
— Математика и основы IT
🐍 И ещё курс по Python
🔥 До конца октября скидка 40%!
🔗 Перейти к курсам
Вместо бесконечных туториалов на YouTube предлагаем разобрать, что делает код читаемым, а архитектуру — устойчивой.
🧩 Курсы, полезные для любого ЯП:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
— Математика и основы IT
🐍 И ещё курс по Python
🔥 До конца октября скидка 40%!
🔗 Перейти к курсам
Можно ли объявить собственный конструктор без параметров у struct?
👾 — Да, начиная с C# 10
⚡️ — Нет
Библиотека задач по C#
👾 — Да, начиная с C# 10
⚡️ — Нет
Библиотека задач по C#
👾27
⏳ Время прокачать алгоритмы с 40-процентной скидкой до конца октября
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
👍35👾1
Что такое упаковка и распаковка?
Пример: «Преобразование типа значения в ссылочный тип называется «упаковкой». Явное преобразование того же ссылочного типа, который создается путем упаковки обратно в тип значения, называется «распаковкой».
Библиотека задач по C#
Библиотека задач по C#
👍2