服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#代码延时的几种实现

C#代码延时的几种实现

2022-11-29 11:34陈言必行 C#

本文主要介绍了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#代码延时的几种实现的文章就介绍到这了,更多相关C# 代码延时内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/Czhenya/article/details/89371318

延伸 · 阅读

精彩推荐
  • C#详解C# WebApi 接口测试工具:WebApiTestClient

    详解C# WebApi 接口测试工具:WebApiTestClient

    这篇文章主要介绍了详解C# WebApi 接口测试工具:WebApiTestClient,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    懒得安分10832022-02-25
  • C#C# Aspose.Words 删除word中的图片操作

    C# Aspose.Words 删除word中的图片操作

    这篇文章主要介绍了C# Aspose.Words 删除word中的图片操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    郭老师的小迷弟雅思莫了4582022-10-27
  • C#c# 通过代码开启或关闭防火墙

    c# 通过代码开启或关闭防火墙

    这篇文章主要介绍了c# 通过代码开启或关闭防火墙的示例,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...

    一只独行的猿9762022-10-13
  • C#C#Winform窗口移动方法

    C#Winform窗口移动方法

    今天小编就为大家分享一篇C#Winform窗口移动方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Maybe_ch8082022-03-06
  • C#C#影院售票系统毕业设计(1)

    C#影院售票系统毕业设计(1)

    这篇文章主要介绍了C#影院售票系统毕业设计,献上了9个类的设计,需要的朋友可以参考下...

    乐智9602021-11-01
  • C#C#实现将类的内容写成JSON格式字符串的方法

    C#实现将类的内容写成JSON格式字符串的方法

    这篇文章主要介绍了C#实现将类的内容写成JSON格式字符串的方法,涉及C#针对json格式数据转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    北风其凉8152021-10-19
  • C#DevExpress GridView自动滚动效果

    DevExpress GridView自动滚动效果

    这篇文章主要为大家详细介绍了DevExpress GridView自动滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    十月狐狸11092022-01-07
  • C#利用C#如何给PDF文档添加文本与图片页眉

    利用C#如何给PDF文档添加文本与图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以...

    Yesi10202021-12-18