您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關C#中怎么實現代碼延時,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
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秒后執行,方式二 輸出語句..."); } } }
下圖一為注釋運行結果,圖二為注釋打開運行結果:(建議使用時自行實踐)
覺得上面方法不適用的童鞋,可以試試使用線程的方式:
簡例:
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# 開啟線程的幾種方式
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#中怎么實現代碼延時,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。