我完成了创建秒表的任务,继承了这项任务。
现在的问题是我无法实现无效的操作异常,而且我在我的代码中使用了goto语句,我也发现自己在我的上一个程序中使用它,我不知道它是否经常使用它是一件好事像我这样做。这是一个很好的做法吗? 我是初学者,请尽可能使用我的代码。指出你可以看到的每一个可能性来改进我的代码。我不在乎你是否彻底改变了逻辑,它将帮助我学到很多东西。 非常感谢您的参与。这是代码。顺便说一句,我不能使用框架的秒表课程。
class Program
{
static void Main(string[] args)
{
var starting = new Stopwatch();
var x = 0; // mechanics to stop user from using start method twice if x==2 it should throw exception, which i havent implemented yet.
StartWatch:
Console.WriteLine("Enter Y to start the stopwatch and press N to stop");
var start = Console.ReadLine();
if (start != null && start.ToUpper()=="Y")
{
starting.StartMethod();
Console.WriteLine("Stopwatch Started");
x += 1;
goto StartWatch;
}
else if (start != null && start.ToUpper() == "N")
{
Console.WriteLine(starting.Stop());
x = 0;
Console.WriteLine("press R to reset and enter to exit");
if (Console.ReadLine().ToUpper()=="R")
goto StartWatch;
}
else
{
Console.WriteLine("Invalid input, Enter either \"Y\" to start or \"N\" to Stop the Stopwatch");
goto StartWatch;
}
}
}
这是秒表类:
public class Stopwatch
{
public DateTime Startwatch { get; private set; }
public void StartMethod()
{
this.Startwatch = DateTime.Now;
}
public TimeSpan Stop()
{
var totalTime = DateTime.Now - Startwatch;
return totalTime;
}
}