7_Основные возможности System
Урок 7 : Основные возможности System
Стандартная библиотека .NET предоставляет готовые инструменты для работы со строками, датами, математикой и случайными числами.
Теория
- Что представляет собой класс
System.Object? Какие основные виртуальные методы он содержит? Зачем их переопределять? - В чём ключевая разница между
StringиStringBuilder? Когда следует использовать каждый из них? - Классы
System.DateTimeиSystem.DateTimeOffset. Для чего нужен каждый из них? Что такое UTC-время? - Класс
System.Math. Для чего он предназначен? Приведите примеры наиболее часто используемых методов. - Какой класс можно использовать для генерации псевдослучайных чисел? Как именно он используется? (краткий пример на целых числах)
Практика
Откройте файл Lesson7.cs для выполнения заданий. Результат выводить в строку консоли.
Задания
Создайте класс Book с полями Title и Author. Переопределите методы:
ToString()- возвращает строку в формате:"Книга: '{Title}', Автор: {Author}"Equals()- две книги считаются равными, если совпадают заголовок и автор (без учёта регистра)GetHashCode()- на основе тех же полей.
Продемонстрируйте работу с этими методами.
Напишите метод, который:
- складывает 50 000 строк
"Hello"в цикле с помощью обычногоstringи замеряет время; - делает то же самое с помощью
StringBuilder.
Выведите время выполнения для обоих сценариев в консоль.
Напишите метод, выводящий в консоль текущее системное время в формате: dd.MM.yyyy HH:mm
Напишите метод, принимающий время от пользователя в секундах и выводящий его в формате: hh:mm:ss
Реализуйте метод, симулирующий бросок N кубиков с M гранями. N и M задаются пользователем. В консоль должно выводиться значение каждого «кубика» и их суммарное значение.
** Для метода из задания 5 реализуйте перегрузку, которая увеличивает вероятность выпадения определённых чисел. Добавить параметр-словарь формата число (int) : вероятность (float, 0–1).
Необходимо добавить проверки на невозможные значения: сумма всех указанных вероятностей в словаре не может быть больше или равна 1.