C# foreach循环中的计时器

C# foreach循环中的计时器,c#,.net,timer,foreach,C#,.net,Timer,Foreach,我有一个foreach循环,它将遍历数组中的每个字符串,我想制作一个计时器,它每100毫秒滴答一次,当它滴答一次时,它将转到数组中的另一个字符串,例如: 滴答100毫秒 路径=资产/Star/Star\u 00001.png 滴答100毫秒 路径=资产/Star/Star\u 00002.png 到目前为止,我有: private void Button7_Click(object sender, RoutedEventArgs e) { string[] images

我有一个foreach循环,它将遍历数组中的每个字符串,我想制作一个计时器,它每100毫秒滴答一次,当它滴答一次时,它将转到数组中的另一个字符串,例如:

滴答100毫秒 路径=资产/Star/Star\u 00001.png 滴答100毫秒 路径=资产/Star/Star\u 00002.png

到目前为止,我有:

private void Button7_Click(object sender, RoutedEventArgs e)
    {
        string[] images = new string[] { "Star_00001.png", "Star_00002.png", "Star_00003.png", "Star_00004.png", "Star_00005.png", "Star_00006.png", "Star_00007.png";
        string path = "Assets/Star/";

            foreach(string file in images)
            {
              string thepath = Path.Combine(path,file);
              asset.Text = thepath;
            }
    }

我应该如何接近和做到这一点?(很抱歉,如果你不明白,我发现很难解释自己,如果你还有其他问题,请发表评论)

你可以使用模拟计时器。您需要将您的方法标记为
async
,以便您可以
在其中等待

private async void Button7_Click(object sender, RoutedEventArgs e)
{
       string[] images = new string[] { "Star_00001.png", "Star_00002.png", "Star_00003.png", "Star_00004.png", "Star_00005.png", "Star_00006.png", "Star_00007.png";

       string path = "Assets/Star/";
       foreach(string file in images)
       {
            string thepath = Path.Combine(path,file);
            asset.Text = thepath;
            await Task.Delay(100);
       }
}

您可以使用模拟计时器。您需要将您的方法标记为
async
,以便您可以
在其中等待

private async void Button7_Click(object sender, RoutedEventArgs e)
{
       string[] images = new string[] { "Star_00001.png", "Star_00002.png", "Star_00003.png", "Star_00004.png", "Star_00005.png", "Star_00006.png", "Star_00007.png";

       string path = "Assets/Star/";
       foreach(string file in images)
       {
            string thepath = Path.Combine(path,file);
            asset.Text = thepath;
            await Task.Delay(100);
       }
}