【问题标题】:Using StopWatch to calculate running time in c# windows formc# windows窗体中使用秒表计算运行时间
【发布时间】:2015-05-16 12:32:54
【问题描述】:

这是我的代码:

 public State Create_eNfa(string sRegExPosfix)
      {
          var watch = Stopwatch.StartNew();
          //bla bla bla

          Debug.Assert(stackNfa.Count == 1);
          var expr = (NfaExpression) stackNfa.Pop();
          expr.FinalState().AcceptingState = true;

          watch.Stop();
          var time=watch.ElapsedMilliseconds;          

          return expr.StartState();

      }

现在,变量“时间”包含了我想要的,但问题是如何将“时间”移动到我的表单中。我想在我的表单中输入textBox.Text=time.toString();

最后,在我的代码中调用 Create_eNFA 后,文本框将显示结果,我该怎么做。

【问题讨论】:

    标签: c# winforms timer textbox stopwatch


    【解决方案1】:

    在您的上下文中,您的方法需要返回多个值,并且返回值已经用于 State 值,然后您需要将 time 变量作为 out parameter 传递。

    public State Create_eNfa(string sRegExPosfix, out long time)
    {
       var watch = Stopwatch.StartNew();
       .....
       watch.Stop();
       time = watch.ElapsedMilliseconds;          
       return expr.StartState();
     }
    

    并调用它

     long time;
     State result = Create_eNfa(sRegExPosfix, out time);
     textBox.Text=time.toString();      
    

    out time参数是对调用代码中变量time的引用,需要在退出Create_eNfa方法前为其赋值

    【讨论】:

      猜你喜欢
      • 2020-12-22
      • 1970-01-01
      • 2023-01-09
      • 2017-12-27
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      相关资源
      最近更新 更多