来自我对问题"Stopwatch in a Task seems to be additive across all tasks, want to measure just task interval"
的“回答”创建新Stopwatch实例之间可能存在以下差异:
Stopwatch timer = System.Diagnostics.Stopwatch.StartNew();
带
Stopwatch timer = new Stopwatch();
timer.Start();
隐含的询问:
为什么提供StartNew()
方法?
答案 0 :(得分:8)
StartNew
,创建秒表的新实例并启动它。
简单new
仅限于秒表实例化。它不会启动秒表。
对于您在创建新实例并致电Start
的当前代码,Stopwatch.StartNew()
请参阅Stopwatch.StartNew() - MSDN
这种方法等效来调用Stopwatch构造函数和 然后在新实例上调用Start。
StartNew
提供了一种更简单的方法,可以一步创建和启动秒表。
答案 1 :(得分:5)
为什么提供了StartNew()方法?
这是一个更简单的选择。 StartNew
实际上与分配新的秒表并立即启动它相同。
由于这是一个非常常见的用例,StartNew
工厂方法只是简化和缩短了API,并减少了使用秒表所需的代码。
答案 2 :(得分:0)
它初始化一个新的System.Diagnostics.Stopwatch实例并将经过时间属性设置为零,并开始测量经过时间
并保存一行代码以隐式调用 Start()方法