用'new()和'. startnew ()"创建新实例有什么区别?

本文关键字:实例 什么 区别 startnew new quot 创建 新实例 | 更新日期: 2023-09-27 18:11:06

来自我对问题"秒表在任务中似乎是所有任务的加法,想要测量任务间隔"的"回答"

创建一个新的Stopwatch实例与

有什么不同?
Stopwatch timer = System.Diagnostics.Stopwatch.StartNew();

Stopwatch timer = new Stopwatch();
timer.Start();  

隐含subquestion:
为什么提供StartNew()方法?

用'new()和'. startnew ()"创建新实例有什么区别?

StartNew,创建秒表的新实例并启动它。

Simple new仅为Stopwatch实例化。它不能启动秒表。

对于您当前创建新实例并调用Start的代码,应该与Stopwatch.StartNew()没有任何区别

参见Stopwatch.StartNew() - MSDN

此方法相当于调用Stopwatch构造函数和然后在新实例上调用Start。

StartNew提供了一个更简单的方法来创建和启动秒表在一个步骤。

为什么提供StartNew()方法?

这是一个更简单的选择。StartNew实际上等同于分配一个新的秒表并立即启动它。

由于这是一个非常常见的用例,StartNew工厂方法只是简化和缩短了API,并减少了使用秒表所需的代码。

初始化一个新的System.Diagnostics.Stopwatch实例,并将运行时间属性设置为0 ,并开始测量运行时间

保存一行代码,隐式调用Start()方法