c#中“?“的几种用法

//1、可空类型修饰符(?),如:
A ?? B//表示如果A为null则返回B,否则返回A
//2、三元运算符(?,如:
bool f=false; return f==true?1:0;//如果f为true则返回1,否则返回0
//3、 空合并运算符(??)如:
a??b //当a为null时则返回b,a不为null时则返回a本身
“a??b??c”的形式按“a??(b??c)”计算
//4、NULL检查运算符(?.)
fileInfo?.Close() //当fileInfo不为null是执行Close方法
DateTime? birthday= personList?.FirstOrDefault()?.Birthday; 
C# ,你可以使用以下几种方法来实现定时器功能: 1. System.Timers.Timer:这是一个基于线程的定时器,可以在指定的时间间隔内重复执行指定的代码。你可以设置 Interval 属性来指定时间间隔,并通过 Elapsed 事件来处理计时器事件。 ```csharp using System; using System.Timers; public class TimerExample { private static Timer timer; public static void Main() { timer = new Timer(); timer.Interval = 1000; // 设置时间间隔为1秒 timer.Elapsed += TimerElapsed; // 绑定事件处理程序 timer.Enabled = true; // 启动计时器 Console.WriteLine("Press Enter to stop the timer."); Console.ReadLine(); timer.Enabled = false; // 停止计时器 } private static void TimerElapsed(object sender, ElapsedEventArgs e) { Console.WriteLine("Timer elapsed at {0}", e.SignalTime); } } ``` 2. System.Threading.Timer:这是一个基于线程池的定时器,也可以在指定的时间间隔内重复执行指定的代码。你可以使用 Change 方法来设置时间间隔,并通过 TimerCallback 委托来处理计时器事件。 ```csharp using System; using System.Threading; public class TimerExample { private static Timer timer; public static void Main() { TimerCallback callback = new TimerCallback(TimerElapsed); timer = new Timer(callback, null, 0, 1000); // 设置时间间隔为1秒 Console.WriteLine("Press Enter to stop the timer."); Console.ReadLine(); timer.Dispose(); // 停止计时器 } private static void TimerElapsed(object state) { Console.WriteLine("Timer elapsed at {0}", DateTime.Now); } } ``` 3. System.Threading.Tasks.Task.Delay:这是一种基于异步任务的延迟执行方法,可以在指定的时间间隔后执行指定的代码。 ```csharp using System; using System.Threading.Tasks; public class TimerExample { public static async Task Main() { Console.WriteLine("Press Enter to start the timer."); Console.ReadLine(); while (true) { Console.WriteLine("Timer elapsed at {0}", DateTime.Now); await Task.Delay(1000); // 设置时间间隔为1秒 } } } ``` 这些是在 C# 实现定时器功能的几种常用方法。你可以根据自己的需求选择适合的方法来实现定时器功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香煎三文鱼

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值