В чем разница между созданием нового экземпляра с помощью "new() and ".StartNew()"?
из моего "ответа" на вопрос "секундомер в задаче кажется аддитивным во всех задачах, хотите измерить только интервал задачи"
каковы возможные различия между созданием нового секундомер например так:
Stopwatch timer = System.Diagnostics.Stopwatch.StartNew();
С
Stopwatch timer = new Stopwatch();
timer.Start();
подразумевается subquestion:
Почему StartNew()
метод?
2 ответов
StartNew
, создайте новый экземпляр секундомера и запустите его.
простой new
только экземпляр секундомера. Секундомер не включается.
для вашего текущего кода, где вы создаете новый экземпляр и вызов Start
, там не должно быть никакой разницы Stopwatch.StartNew()
посмотреть секундомер.StartNew () - MSDN
этот метод эквивалентно для вызова секундомер конструктор и затем вызовите Start на новом экземпляре.
StartNew
обеспечивает более простой способ создания и запуска секундомера в один шаг.
почему был предоставлен метод StartNew ()?
Это более простая альтернатива. StartNew
фактически то же самое, что и выделение нового секундомера и его мгновенный запуск.
Так как это очень распространенный случай использования StartNew
заводской метод просто упрощает и сокращает API и уменьшает код, необходимый для использования секундомера.