Класс: Промежуток времени - C#
Формулировка задачи:
По заданию, нужно создать
Класс: Промежуток времени
Состояние (поля): количество «тиков» системного таймера
Методы конструирования: создание промежутка времени, заданного в секундах; создание
промежутка времени, заданного в «тиках» системного таймера
Свойства: количество «тиков»; общее количество прошедших секунд; общее количество
прошедших минут
Операции: сложение и вычитание
Примечание: считать, что за секунду происходит 18,2 «тиков» системного таймера
Вот мой код
Посмотрите, пожалуйста, правильно ли у меня сделано?
using System;
//Класс: Промежуток времени
//Состояние (поля): количество «тиков» системного таймера
//Методы конструирования: создание промежутка времени, заданного в секундах; создание
//промежутка времени, заданного в «тиках» системного таймера
//Свойства: количество «тиков»; общее количество прошедших секунд; общее количество
//прошедших минут
//Операции: сложение и вычитание
//Примечание: считать, что за секунду происходит 18,2 «тиков» системного таймера
namespace CustomTimeSpan1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите время в тиках ticks = ");
var ticks = Convert.ToDouble(Console.ReadLine());
var TimeSpan1 = CustomTimeSpan.Tick_FromTick(ticks);
Console.WriteLine("Прошло:\nтиков {0},\nсекунд {1},\nминут {2}", TimeSpan1.Tick, TimeSpan1.Second, TimeSpan1.Minute);
Console.Write("Введите время в секундах seconds = ");
var seconds = Convert.ToDouble(Console.ReadLine());
var TimeSpan2 = CustomTimeSpan.Tick_FromSecond(seconds);
Console.WriteLine("Прошло:\nтиков {0},\nсекунд {1},\nминут {2}", TimeSpan2.Tick, TimeSpan2.Second, TimeSpan2.Minute);
var TimeSpan3 = TimeSpan1.Add(TimeSpan2);
Console.WriteLine("Сумма промежутков 1 и 2:\nтиков {0},\nсекунд {1},\nминут {2}", TimeSpan3.Tick, TimeSpan3.Second, TimeSpan3.Minute);
var TimeSpan4 = TimeSpan1.Substrack(TimeSpan2);
Console.WriteLine("Разность промежутков 1 и 2:\nтиков {0},\nсекунд {1},\nминут {2}", TimeSpan4.Tick, TimeSpan4.Second, TimeSpan4.Minute);
Console.ReadKey();
}
}
public class CustomTimeSpan
{
private CustomTimeSpan(double _tick)
{
Tick = _tick;
Second = Tick / 18.2d;
Minute = Tick / (18.2d * 60d);
}
public static CustomTimeSpan Tick_FromTick(double _tick)
{
return new CustomTimeSpan(_tick);
}
public static CustomTimeSpan Tick_FromSecond(double _second)
{
return new CustomTimeSpan(18.2d * _second);
}
public CustomTimeSpan Add(CustomTimeSpan secondTick)
{
return new CustomTimeSpan(this.Tick + secondTick.Tick);
}
public CustomTimeSpan Substrack(CustomTimeSpan secondTick)
{
return new CustomTimeSpan(this.Tick - secondTick.Tick);
}
public double Tick
{
get { return tick; }
set { tick = value < 0 ? 0 : value; }
}
public double Second { get; set; }
public double Minute { get; set; }
private double tick;
}
}Решение задачи: «Класс: Промежуток времени»
textual
Листинг программы
private CustomTimeSpan(double ticks)
{
return new CustomTimeSpan(ticks);
}