C# 命令而不是C VSTO中的“Goto”

C# 命令而不是C VSTO中的“Goto”,c#,vsto,C#,Vsto,“Goto”的另一个命令是什么?我正在使用VSTO为excel制作一个功能区,它似乎不支持Goto,我正在尝试创建一个循环 编辑:这是我试图创建的循环: TimeSpan startTimeSpan = new TimeSpan(0, 0, 0, 20); TimeSpan timeDecrease = TimeSpan.FromSeconds(1); private Timer timer = new Timer(); public void Ribbon_

“Goto”的另一个命令是什么?我正在使用VSTO为excel制作一个功能区,它似乎不支持Goto,我正在尝试创建一个循环

编辑:这是我试图创建的循环:

   TimeSpan startTimeSpan = new TimeSpan(0, 0, 0, 20);

    TimeSpan timeDecrease = TimeSpan.FromSeconds(1);

    private Timer timer = new Timer();

    public void Ribbon_Load(Office.IRibbonUI ribbonUI)
    {
        timer.Interval = 1000;
        this.ribbon = ribbonUI;
        timer.Tick += timer_Tick;
        timer.Start();
    }

    private void timer_Tick(object sender, EventArgs e)
    {
        if (startTimeSpan.ToString() != "00:00:00")
        {
        startTimeSpan = startTimeSpan - timeDecrease;
        ribbon.InvalidateControl("timerLabel");
        }
        else
        {

 //when timer drop to "00:00:00" then loop to "TimeSpan startTimeSpan = new TimeSpan(0, 0, 0, 20);"

        }
    }

C确实支持goto命令,但它不支持循环。跳转语句通常不是最好的解决方案

转到-

如果您试图循环,只需使用循环语句


循环-

您可以在excel VSTO上找到许多问答

像这样的东西有什么问题

for (int i = selectedRange.Rows.Count; i > 0; i--)
{
  ---YOUR CODE HERE---
}


您可能希望使用while循环,在while语句中使用exit条件,并在达到exit条件之前使用break退出循环,或者继续跳过循环的当前迭代,继续下一个循环。

您到底在说什么?只要写一个循环。无论问题是什么,Goto永远都不是答案,除非你使用汇编语言,或者问题是我永远不应该使用哪条语句?不要使用GO-TO。。。。。。。利用休息;持续相反,在一个循环中…谢谢你,我已经编辑了我的帖子来解释原因,如果你能帮助我,干杯在你的“else”中你需要做的就是将startTimeSpan设置为20秒,然后返回。计时器仍在运行,并且将继续每秒给您打电话;回来完美的非常感谢
foreach (Excel.Range row in rng.Areas[1].Rows)
{
   ---YOUR CODE HERE---
}