ЛК 5. Классы для работы с числами и датами
Класс Math
Класс Math
Класс Math
Класс Math
Класс Math
Класс Random
Класс Random
Класс Random
Класс Random
Сложные типы
BigInteger
BigInteger
BigInteger
Complex
Complex
Complex
Complex
Complex
Класс DateTime
DateTime
DateTime
DateTime
DateTime
DateTime
DateTime
DateTime
Класс TimeSpan
TimeSpan
TimeSpan
TimeSpan
Классы DateOnly, TimeOnly
DateOnly (с версии .Net 6)
TimeOnly (с версии .Net 6)
StopWatch
StopWatch
StopWatch
2.15M
Категория: ПрограммированиеПрограммирование

Классы Math, Random, Numerics и DateTime

1. ЛК 5. Классы для работы с числами и датами

БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
1

2. Класс Math

БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
2

3. Класс Math

Класс Math предоставляет константы и статические
методы для тригонометрических, логарифмических и
других общих математических функций.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
3

4. Класс Math

Поля
E
Представляет основание натурального логарифма, заданное
константой e.
PI
Представляет отношение длины окружности к ее диаметру,
определяемое константой π.
Tau
Представляет количество радианов за один оборот, определяемое
константой τ.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
4

5. Класс Math

Некоторые методы
Abs
Возвращает абсолютное значение числа.
Ceiling
Возвращает наименьшее целое значение, которое больше или равно
указанному числу.
Clamp
Результат ограничен диапазоном значений min и max.
Floor
Возвращает наибольшее целое значение, меньшее или равное
указанному числу.
Log
Возвращает натуральный (основание e) логарифм указанного числа.
Max
Возвращает большее из двух чисел
Pow
Возвращает указанное число в указанной степени.
Round
Округляет десятичное значение до ближайшего целого значения или до
указанного количества десятичных знаков
Sin
Возвращает синус указанного угла.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
5

6. Класс Math

var result = Math.Pow(2, 4);
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
6

7. Класс Random

БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
7

8. Класс Random

Конструктор Random(Int32) использует указанное вами
явное начальное значение.
Конструктор Random() использует начальное значение
по умолчанию. Это наиболее распространенный способ
создания экземпляра генератора случайных чисел.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
8

9. Класс Random

В .NET Framework начальное значение по умолчанию зависит от
времени.
В .NET Core начальное значение по умолчанию создается
генератором статических псевдослучайных чисел потока.
Если одно и то же начальное число используется для
отдельных объектов Random , они будут генерировать одну и ту
же серию случайных чисел.
В большинстве систем Windows объекты Random, созданные с
интервалом в 15 миллисекунд, скорее всего, будут иметь
идентичные начальные значения.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
9

10. Класс Random

Next()
Next(Int32)
Возвращает неотрицательное случайное целое число.
Возвращает неотрицательное случайное целое число,
меньшее указанного максимума.
Next(Int32, Int32)
Возвращает случайное целое число в указанном
диапазоне.
Заполняет элементы указанного массива байтов
случайными числами.
NextBytes(Byte[])
NextDouble()
БГУИР кафедра Информатики
Возвращает случайное число с плавающей запятой,
которое больше или равно 0,0, но меньше 1,0.
И.И. ГЛАМАЗДИН
10

11. Сложные типы

БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
11

12. BigInteger

Пространство имен System.Numerics
Структура BigInteger - это неизменяемый тип,
представляющий произвольно большое целое число,
значение которого теоретически не имеет верхней или
нижней границы.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
12

13. BigInteger

BigInteger bigIntFromDouble = new BigInteger(179032.6541);
BigInteger bigIntFromInt64 = new BigInteger(934157136952);
BigInteger assignedFromDouble = (BigInteger)179032.6541;
byte[] byteArray = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
BigInteger newBigInt = new BigInteger(byteArray);
string negativeString = "-90315837410896312071002088037140000";
BigInteger negBigInt = 0;
try
{
negBigInt = BigInteger.Parse(negativeString);
}
catch (FormatException)
{
}
BigInteger.TryParse(negativeString, out negBigInt);
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
13

14. BigInteger

BigInteger bigIntFromDouble = new BigInteger(179032.6541);
BigInteger bigIntFromInt64 = new BigInteger(934157136952);
var result = bigIntFromDouble + bigIntFromInt64;
var newBigInt = BigInteger.Add(int.MaxValue, 123456);
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
14

15. Complex

Пространство имен System.Numerics
Структура Complex представляет комплексное число.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
15

16. Complex

Комплексное число - это число, состоящее из
действительной и мнимой числовой частей.
Комплексное число z обычно записывается в форме
z = x + yi,
где x и y - действительные числа, а i - мнимая единица,
обладающая свойством i2 = -1.
Действительная часть комплексного числа представлена x,
а мнимая часть комплексного числа представлена y.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
16

17. Complex

Способы создания объекта класса Complex:
Передавая два значения Double в конструктор. Первое значение
представляет действительную часть комплексного числа, а второе
значение представляет его мнимую часть.
Вызов статического метода Complex.FromPolarCoordinates для
создания комплексного числа из его полярных координат.
Назначая значение Byte, SByte, Int16, UInt16, Int32, UInt32, Int64,
UInt64, Single или Double для комплексного объекта. Значение
становится действительной частью комплексного числа, а его
мнимая часть равна 0.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
17

18. Complex

Способы создания объекта класса Complex:
Путем преобразования значения Decimal или BigInteger в объект
Complex. Значение становится действительной частью
комплексного числа, а его мнимая часть равна 0.
Путем присвоения комплексного числа, возвращаемого методом
или оператором, объекту Complex . Например, Complex.Add - это
статический метод, который возвращает комплексное число,
которое является суммой двух комплексных чисел, а оператор
Complex.Addition складывает два комплексных числа и возвращает
результат.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
18

19. Complex

Структура Complex в .NET Framework включает элементы, которые
обеспечивают следующие функции:
Методы сравнения двух комплексных чисел, чтобы определить, равны
ли они.
Операторы для выполнения арифметических операций над
комплексными числами. Комплексные операторы, позволяющие
выполнять сложение, вычитание, умножение, деление и унарное
отрицание с комплексными числами.
Методы выполнения других числовых операций над комплексными
числами (возвести комплексное число в указанную степень, найти
квадратный корень из комплексного числа и получить абсолютное
значение комплексного числа).
Методы выполнения тригонометрических операций над комплексными
числами.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
19

20.

var cResult = Complex.Add((Complex)1, (Complex)2);
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
20

21. Класс DateTime

БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
21

22. DateTime

Структура DateTime представляет дату и время со значениями в
диапазоне
от 00:00:00 (полночь), 1 января 0001 г., Anno Domini (наша эра)
до 23:59:59, 31 декабря 9999 г. н.э. (н.э.) по григорианскому
календарю.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
22

23. DateTime

Значения времени измеряются в единицах 100
наносекунд, называемых тактами (tick). Конкретная дата это количество тактов с 12:00 до полуночи 1 января 0001
года нашей эры в григорианском календаре.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
23

24. DateTime

var date1 = new DateTime(2008, 5, 1, 8, 30, 52);
var dateString = "5/1/2008 8:30:52 AM";
DateTime date2 = DateTime.Parse(dateString,
System.Globalization.CultureInfo.InvariantCulture);
var iso8601String = "20080501T08:30:52Z";
DateTime dateISO8602 = DateTime.ParseExact(iso8601String,
"yyyyMMddTHH:mm:ssZ",
System.Globalization.CultureInfo.InvariantCulture);
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
24

25. DateTime

DateTime date1 = DateTime.Now;
DateTime date2 = DateTime.UtcNow;
DateTime date3 = DateTime.Today;
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
25

26. DateTime

DateTime date1 = DateTime.Now;
var year = date1.Year;
var month = date1.Month;
Console.WriteLine(date1.ToShortDateString());
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
26

27. DateTime

Форматирование даты
(см. https://metanit.com/sharp/tutorial/19.1.php )
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
27

28. DateTime

Функции работы с датой
Add(TimeSpan value): добавляет к дате значение TimeSpan
AddDays(double value): добавляет к текущей дате несколько дней
AddHours(double value): добавляет к текущей дате несколько часов
AddMinutes(double value): добавляет к текущей дате несколько минут
AddMonths(int value): добавляет к текущей дате несколько месяцев
AddYears(int value): добавляет к текущей дате несколько лет
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
28

29. Класс TimeSpan

БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
29

30. TimeSpan

Структура TimeSpan представляет временной интервал
(продолжительность времени или прошедшее время),
который измеряется как положительное или отрицательное
число дней, часов, минут, секунд и долей секунды.
Структура TimeSpan также может использоваться для
представления времени дня, но только если время не
связано с определенной датой.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
30

31. TimeSpan

Самая
большая
единица
времени,
которую структура TimeSpan использует для измерения
продолжительности, - это день.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
31

32. TimeSpan

TimeSpan interval2 = new TimeSpan(2, 14, 18);
DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);
DateTime arrival = new DateTime(2010, 6, 13, 22, 47, 0);
TimeSpan travelTime = arrival - departure;
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
32

33. Классы DateOnly, TimeOnly

БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
33

34. DateOnly (с версии .Net 6)

Тип DateOnly является структурой , которая
предназначена для представления только даты.
Другими словами, только год, месяц и день.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
34

35. TimeOnly (с версии .Net 6)

Тип TimeOnly представляет собой структуру,
предназначенную для представления только времени
суток.
Если DateOnly –это одна половина DateTime, то TimeOnly
- вторая половина.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
35

36. StopWatch

Пространство имен System.Diagnostics
Класс StopWatch предоставляет набор методов и свойств,
которые можно использовать для точного измерения
прошедшего времени.
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
36

37. StopWatch

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
.
.
.
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
37

38. StopWatch

Stopwatch stopWatch = Stopwatch.StartNew();
.
.
.
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
БГУИР кафедра Информатики
И.И. ГЛАМАЗДИН
38
English     Русский Правила