中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么實現代碼延時

發布時間:2021-08-04 13:52:32 來源:億速云 閱讀:675 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關C#中怎么實現代碼延時,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。


Task.Delay();異步實現

using System;
using System.Threading.Tasks;

namespace csharpYS
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Mian方法第一次輸出...");
            #region 第一種形式 
            var task_1 = Task.Run(async delegate
            {
                await Task.Delay(3000);
                Console.WriteLine("3秒后執行,方式一 輸出語句...");
                return "異步執行result"; //可以得到一個返回值(int,bool,string都試了)
            });
            #endregion

            Console.WriteLine("Mian方法第二次輸出,調用延時...");
            Console.WriteLine("task_1 的 Status:{0}, 結果: {1}",task_1.Status, task_1.Result);
            Console.WriteLine("第一種形式,延時結束...");

            #region 第二種形式
            Task task_2 = Task.Run(task_YS);
            //task_2.Wait();  //注釋打開則等待task_2延時,注釋掉則不等待
            #endregion

            Console.WriteLine("Mian方法最后一次輸出,Main方法結束...");
            Console.ReadKey();
        }

        public static async Task task_YS()
        {
            await Task.Delay(5000);
            Console.WriteLine("5秒后執行,方式二 輸出語句...");
        }
    }

}

下圖一為注釋運行結果,圖二為注釋打開運行結果:(建議使用時自行實踐)

C#中怎么實現代碼延時

C#中怎么實現代碼延時

覺得上面方法不適用的童鞋,可以試試使用線程的方式:

線程實現:

簡例:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading;

namespace ExceptionDeme
{
    class ThreadDemo
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Main方法開始執行...");
            Thread threadA = new Thread(DownLoadFile);
            threadA.Start();
            Console.WriteLine("Main方法執行結束...");

            Console.ReadKey();
        }

        static void DownLoadFile()
        {
            //模擬開始下載 2S 后完成
            Console.WriteLine("開始下載,此協程的Id是:" + Thread.CurrentThread.ManagedThreadId);
            Thread.Sleep(2000);
            Console.WriteLine("下載完成");
        }
}

C#中怎么實現代碼延時

相關連接:
C# 線程簡介
C# 開啟線程的幾種方式

計時器方式實現:

 class Program
    {
        static void Main(string[] args)
        {
   			Console.WriteLine("Czhenya  ... Main Start");
            WaitFunctions(2);
            Console.WriteLine("Czhenya  ... Main End");
		}
		
 	    public static void WaitFunctions(int waitTime)
        {
            if (waitTime <= 0) return;

            Console.WriteLine("開始執行 ...");
            DateTime nowTimer = DateTime.Now;
            int interval = 0;
            while (interval < waitTime)
            {
                TimeSpan spand = DateTime.Now - nowTimer;
                interval = spand.Seconds;
            }

            Console.WriteLine(waitTime + "秒后繼續 ...");
        }
  }

執行截圖:

C#中怎么實現代碼延時

以上就是C#中怎么實現代碼延時,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禹城市| 伊吾县| 景德镇市| 成安县| 新河县| 河北区| 武乡县| 孝义市| 什邡市| 新安县| 南郑县| 满洲里市| 凉山| 江山市| 清镇市| 云和县| 揭阳市| 乐昌市| 外汇| 邵阳县| 沙坪坝区| 龙里县| 黔西| 海南省| 那坡县| 武鸣县| 成都市| 开阳县| 镇安县| 高要市| 建昌县| 武安市| 镇康县| 沅江市| 武清区| 辽阳县| 巴塘县| 葵青区| 沐川县| 鄂伦春自治旗| 当雄县|