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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Возврат значения из try-finally

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

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

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

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

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

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

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

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

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

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

Первым параметром в функции Insert является индекс, по которому надо вставлять подстроку, а второй параметр — собственно подстрока.
👏3
В каком из приведенных вариантов правильно описано объявление типа перечисления?
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 }
🥱10🌚2🤔1
Что такое Boxing и Unboxing?

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

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

Этот вопрос тестирует понимание кандидатом специфических аспектов оптимизации в Unity для VR. Оптимизация для VR имеет особое значение из-за высоких требований к производительности и низкой задержке. Ответ должен включать стратегии по оптимизации ассетов и текстур, управлению памятью, использованию LOD (Level of Detail) систем для управления сложностью моделей, а также эффективному использованию освещения и теней. Кандидат также может обсудить использование различных профилировщиков и инструментов для мониторинга производительности, а также специфические подходы к рендерингу для VR, такие как сокращение overdraw и использование occlusion culling.
Если вы хотите хранить позитивное целое число до 250, какой тип данных вы используете?
Anonymous Quiz
12%
uint
25%
ushort
48%
byte
15%
sbyte
🤔4👍2
Какой результат выдаст программа ниже?

Ответ:
Эта программа выведет число «10» десять раз.

И вот почему: delegate добавляется циклически, однако параметр i передаётся по ссылке. Поэтому, по окончании цикла i равно 10, и при каждом запуске delegate будет выводиться работать с этим значением.
👍12
В чем различие между операцией cast (приведения типов) и оператором as?

Ответ:
В случае ошибки cast выбрасывает исключение InvalidCastException, а оператор as возвращает null.
👍19🌚1
Свет

Подробный видеоурок о том, как настроить свет в Unity.

Посмотреть можно по ссылке
👍3
Как в C# реализуется паттерн «Lazy Initialization» и какие меры предосторожности необходимо предпринять для его корректного использования в многопоточных приложениях?

В C#, «Lazy Initialization» реализуется с помощью класса Lazy, который обеспечивает отложенную инициализацию объекта. Для обеспечения безопасности в многопоточных приложениях, важно использовать конструктор Lazy с параметром LazyThreadSafetyMode, который контролирует доступ к объекту и обеспечивает потокобезопасную инициализацию. Это предотвращает создание нескольких экземпляров в многопоточной среде и гарантирует, что объект будет инициализирован только один раз.
👍14
Вы реализуете конечный автомат в многопоточном классе. Вам нужно получить текущее состояние и изменить его на новое на каждом шаге. Каким методом вы воспользуетесь?
Anonymous Quiz
9%
Volatile.Write(ref currentState)
36%
Interlocked.CompareExchange(ref currentState, newState, expectedState)
10%
Interlocked.Decrement(ref newState)
45%
Interlocked.Exchange(ref currentState, newState)
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»

🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/ba369a75

На вводной части вас ждут:

1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов

2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ

3. Практические задания после лекций

4. Ссылки на дополнительные материалы для самостоятельного изучения

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/ba369a75
Please open Telegram to view this post
VIEW IN TELEGRAM