Библиотека задач по C# | тесты, код, задания
5.33K subscribers
356 photos
1 video
172 links
Задачи и тесты по C# для тренировки и обучения.

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

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

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Объясните, что такое фиксированный временной шаг в Unity3D? Почему настройка фиксированного времени влияет на скорость игры?

Функция Fixed Timestep помогает установить обновления системы через фиксированный интервал времени. Механизм, подобный очереди, будет управлять всеми событиями в реальном времени, которые накапливаются между временными эпохами.

Если частота кадров упадет ниже некоторого порогового значения, установленного для фиксированного временного шага, это может повлиять на скорость игры.
Сокращенная запись методов

Если метод в качестве тела определяет только одну инструкцию, то мы можем сократить определение метода. Например, допустим у нас есть метод(см «было» на картинке).

Мы можем его сократить следующим образом(смотреть «стало» на картинке).

То есть после списка параметров ставится оператор =>, после которого идет выполняемая инструкция.
Форматирование дат и времени

Не всегда удобно использование встроенных форматов даты и времени. Иногда бывает необходимо задать собственную форму отображения объекта DateTime.
Что выведет код сверху?
Anonymous Quiz
0%
0
3%
1
65%
2
32%
Error
Метод Subtract

Метод используется для вычитания дат.

Синтаксис:
Subtract(DateTime date).
Какова алгоритмическая сложность для операций чтения и записи для коллекции Dictionary?

Чтение очень быстрое, потому что используются хэш-таблицы и сложность в этом случае стремится к O(1).

Запись проходит тоже очень быстро (O(1)), в том случае если .Count меньше емкости, если же больше, то скорость стремится к O(n).
Возврат значения из try-finally

Можно смело делать воврат из try-finally блока. При этом, компилятор закэширует возвращаемое значение, и оно будет возвращено только после исполнения finally-блока.
Объединение строки в C#

StringBuilder.Append можно использовать для эффективного добавления нескольких строк. Это предпочтительное решение по сравнению с + оператор для объединения более трех строк.
Узнаем размер переданного файла

Программа запрашивает у пользователя путь к файлу, а затем пытается получить информацию о файле, используя класс FileInfo. Если файл существует, то выводится его размер в байтах, килобайтах и мегабайтах. Если файл не найден или возникла ошибка при получении информации о файле, выводится соответствующее сообщение.
Узнаем сколько букв содержится в тексте файла

В этом коде мы считываем текст из файла, затем применяем регулярное выражение для удаления всех символов, кроме букв (как на кириллице, так и на латинице), и подсчитываем количество букв в полученной строке.
Генерируем случайные числа

Для генерации случайных чисел мы сначала создаем объект типа «Random», потом вызываем его метод «Next», в результате чего и получаем случайное число. Если мы вызовем метод «Next» несколько раз, то получим разные числа.
Смена регистра

Для приведения строки к верхнему и нижнему регистру используются соответственно функции ToUpper() и ToLower().
⚡️Самые полезные каналы по C# в одной папке

В ней:
канал для подготовки к собеседованиям
основной канал
книги по C#
лучшие вакансии из сферы
и наш чат, в котором можно общаться и задавать вопросы

Добавляйте 👉 тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
Dispose(), Finalize() — что это за методы, как используются в .NET?

Используются для освобождения ресурсов. Применяя метод Dispose, вы должны обеспечить неявную очистку методом Finalize. Если программисту не удалось вызвать метод Dispose, использование метода Finalize предотвращает постоянную утечку ресурсов.
Вставка

Для вставки одной строки в другую применяется функция Insert.

Первым параметром в функции Insert является индекс, по которому надо вставлять подстроку, а второй параметр — собственно подстрока.
В каком из приведенных вариантов правильно описано объявление типа перечисления?
Anonymous Quiz
4%
{ Sat, Sun, Mon, Tue, Wed, Thu, Fri } as Enum
11%
enum { Sat, Sun, Mon, Tue, Wed, Thu, Fri }
78%
enum Day {Sat, Sun, Mon, Tue, Wed, Thu, Fri}
6%
list Day { Sat, Sun, Mon, Tue, Wed, Thu, Fri }
Что такое Boxing и Unboxing?

Упаковка представляет собой процесс неявный преобразования типа значения (хранящегося в стеке) в тип object. Когда тип значения упаковывается средой CLR, она создает оболочку значения внутри System.Object и сохраняет ее в управляемой куче.

Обратная операция распаковки осуществляется явным преобразованием object в тип значения. Если упакованный объект не соответствует требуемому типу, то выбрасывается исключение InvalidCastException.
Как вы бы подошли к оптимизации сцены в Unity для виртуальной реальности (VR), учитывая ограничения по производительности? Обсудите как вы бы управляли ресурсами, освещением и рендерингом.

Этот вопрос тестирует понимание кандидатом специфических аспектов оптимизации в Unity для VR. Оптимизация для VR имеет особое значение из-за высоких требований к производительности и низкой задержке. Ответ должен включать стратегии по оптимизации ассетов и текстур, управлению памятью, использованию LOD (Level of Detail) систем для управления сложностью моделей, а также эффективному использованию освещения и теней. Кандидат также может обсудить использование различных профилировщиков и инструментов для мониторинга производительности, а также специфические подходы к рендерингу для VR, такие как сокращение overdraw и использование occlusion culling.