本篇文章给大家分享的是有关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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。