7_Основные возможности System

Урок 7 : Основные возможности System

О чём этот урок

Стандартная библиотека .NET предоставляет готовые инструменты для работы со строками, датами, математикой и случайными числами.


Теория

Вопросы для самопроверки

  1. Что представляет собой класс System.Object? Какие основные виртуальные методы он содержит? Зачем их переопределять?
  2. В чём ключевая разница между String и StringBuilder? Когда следует использовать каждый из них?
  3. Классы System.DateTime и System.DateTimeOffset. Для чего нужен каждый из них? Что такое UTC-время?
  4. Класс System.Math. Для чего он предназначен? Приведите примеры наиболее часто используемых методов.
  5. Какой класс можно использовать для генерации псевдослучайных чисел? Как именно он используется? (краткий пример на целых числах)


Практика

Как выполнять задания

Откройте файл Lesson7.cs для выполнения заданий. Результат выводить в строку консоли.

Задания

Задание 1.

Создайте класс Book с полями Title и Author. Переопределите методы:

  • ToString() - возвращает строку в формате: "Книга: '{Title}', Автор: {Author}"
  • Equals() - две книги считаются равными, если совпадают заголовок и автор (без учёта регистра)
  • GetHashCode() - на основе тех же полей.
    Продемонстрируйте работу с этими методами.
Задание 2.

Напишите метод, который:

  • складывает 50 000 строк "Hello" в цикле с помощью обычного string и замеряет время;
  • делает то же самое с помощью StringBuilder.
    Выведите время выполнения для обоих сценариев в консоль.
Задание 3.

Напишите метод, выводящий в консоль текущее системное время в формате: dd.MM.yyyy HH:mm

Задание 4.

Напишите метод, принимающий время от пользователя в секундах и выводящий его в формате: hh:mm:ss

Задание 5.

Реализуйте метод, симулирующий бросок N кубиков с M гранями. N и M задаются пользователем. В консоль должно выводиться значение каждого «кубика» и их суммарное значение.

Задание 6.

** Для метода из задания 5 реализуйте перегрузку, которая увеличивает вероятность выпадения определённых чисел. Добавить параметр-словарь формата число (int) : вероятность (float, 0–1).
Необходимо добавить проверки на невозможные значения: сумма всех указанных вероятностей в словаре не может быть больше или равна 1.


📋 Вернуться к теории урока 7