使用秒表计算运行时间在c#窗口形式



这是我的代码:

 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之后,文本框将显示结果,我该如何做呢

在您的上下文中,您的方法需要返回多个值,并且已经为State值取了返回值,然后您需要将time变量作为输出参数传递。

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方法之前为其赋值

最新更新