What's the difference between creating a new instance with "new() and ".StartNew()"?
StartNew
, create new instance of the stop watch and starts it as well.
Simple new
is Stopwatch instantiation only. It doesn't start the Stopwatch.
For your current code where you are creating a new instance and calling Start
, there shouldn't be any difference to Stopwatch.StartNew()
See Stopwatch.StartNew() - MSDN
This method is equivalent to calling the Stopwatch constructor and then calling Start on the new instance.
StartNew
provides an easier way to create and start Stopwatch in one step.
Why was StartNew() method provided?
It's a simpler alternative. StartNew
is effectively the same as allocating a new stop watch and starting it instantly.
Since that's a very common use case, the StartNew
factory method just simplifies and shortens the API, and reduces the code required to use a stopwatch.