Библиотека задач по 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
加入频道
Сравнение строк

Для сравнения строк применяется статический метод Compare.

Данная версия метода Compare принимает две строки и возвращает число. Если первая строка по алфавиту стоит выше второй, то возвращается число меньше нуля. В противном случае возвращается число больше нуля. И третий случай - если строки равны, то возвращается число 0.

В данном случае так как символ h по алфавиту стоит выше символа w, то и первая строка будет стоять выше.
Удаление строк

Удалить часть строки помогает метод Remove.

Первая версия метода Remove принимает индекс в строке, начиная с которого надо удалить все символы. Вторая версия принимает еще один параметр — сколько символов надо удалить.
Формат процентов

Описатель "P" задает отображение процентов. Используемый с ним числовой спецификатор указывает, сколько знаков будет после запятой.
Узнаем память компьютера c помощью C#

В C# можно узнать количество доступной памяти компьютера, используя класс System.Diagnostics.PerformanceCounter.

Этот пример кода использует счетчик производительности «Available MBytes», который содержит значение доступной физической памяти в мегабайтах. Таким образом, значение availableMemory будет содержать количество доступной памяти в мегабайтах.
Что выведет на экран метод Test?

Ответ:
Выведет 2. При помещении делегатов в цепочку у делегата chain заполняется внутреннее поле, которое представляет из себя массив делегатов (в случае, если количество больше одного, иначе просто хранится ссылка на метод). Все делегаты выполняются последовательно. Возвращается значение последнего, остальные не учитываются.
Изменение размера массива

Для изменения размера массива применяется метод Resize. Его первый параметр — изменяемый массив, а второй параметр — количество элементов, которые должны быть в массиве.

Если второй параметр меньше длины массива, то массив усекается. Если значение параметра, наоборот, больше, то массив дополняется дополнительными элементами, которые имеют значение по умолчанию. Причем первый параметр передается по ссылке.
Синхронный запуск задачи

По умолчанию задачи запускаются асинхронно. Однако с помощью метода RunSynchronously() можно запускать синхронно.
Локальные функции

Один из интересных трюков в C# связан с использованием локальных функций для создания чистых и компактных методов. Локальные функции позволяют определять методы внутри других методов, что улучшает читаемость и организацию кода, особенно когда некоторые действия нужно повторять внутри одного метода.

В этом примере метод Add определен внутри SomeMethod. Это не только помогает сгруппировать связанный функционал, но и ограничивает область видимости Add, делая код более безопасным и управляемым.
Изменение порядка элементов массива

Например, изменим порядок элементов с помощью следующего кода.
Операторы | и & против || и &&

Обе пары операторов могут быть применены к переменным типа bool. Единственная разница — одиночные операторы не сокращают количество вычислений если результат очевиден.
Получение суммы

Для получения суммы значений применяется метод Sum.

Метод Sum() имеет ряд перегрузок. В частности, если у нас набор сложных объектов, как в примере выше, то мы можем указать свойство, значения которого будут суммироваться.

В данном случае вычисляется сумма значений свойств Age объектов Person из массива people.
System.Split()

System.Split() — разделяет заданную строку на подстроки, в качестве разделителя используется указанный через параметр символ (или группа символов).

System.Empty — возвращает пустую строку.
Может ли DateTime равняться null? Почему?

Нет, т.к. DateTime это тип значение, наследован из System.ValueType.
Что такое Entity Framework в C#?

Как ответить: Опишите Entity Framework как Object-Relational Mapping (ORM) фреймворк, упрощающий доступ и манипуляцию базами данных. Объясните, что он даёт разработчикам возможность работать с базами данных, используя принципы ООП, и предоставляет такие функции, как автоматический маппинг, поддержка LINQ и отслеживание изменений.
Пример ответа: «Entity Framework — это ORM-фреймворк, созданный Microsoft. Он позволяет разработчикам работать с базами данных с помощью принципов ООП вместо написания необработанных SQL запросов. Entity Framework автоматически сопоставляет таблицы базы данных с классами и даёт такие функции, как поддержка LINQ, отслеживание изменений и CRUD операции. Он упрощает доступ и изменение баз данных в приложениях C#».
На что обращают внимание: на кандидатов, которые могут дать точное и полное объяснение Entity Framework, включая его назначение, главные особенности и преимущества доступа и управления базами данных.
Каковы лучшие практики для написания чистого и поддерживаемого кода на C#?

Как ответить: Упомяните следующие практики: использование последовательных соглашений об именах, использование комментариев и документации, написание модульного и повторно используемого кода, оптимизация производительности, следование принципам SOLID.
Пример ответа: «Для написания чистого и поддерживаемого кода на C# важно использовать определенные практики. В них включаются использование последовательных соглашений об именах для переменных, классов и методов, написание конструктивных комментариев и документации, разбиение кода на модульные и повторно используемые части, оптимизация производительности с помощью уменьшения числа ненужных операций и следование принципам SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion)».
На что обращают внимание: на кандидатов, которые могут рассказать о части лучших практик для написания чистого кода, включая основные элементы, такие как соглашения об именах, модульность, оптимизация производительности и следование принципам SOLID.