秒表计划(实施例外)

时间:2016-12-14 20:25:19

标签: c# asp.net exception stopwatch

我完成了创建秒表的任务,继承了这项任务。

Stopwatch Task

现在的问题是我无法实现无效的操作异常,而且我在我的代码中使用了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;
    }
}

0 个答案:

没有答案