void Method(type param)
{
if(param == null) return;
// do something
}
void Method(type param)
{
if(param != null)
{
// do something
}
}
Какой из них быстрее, если параметр равен нулю?Какой из них быстрее
void Method(type param)
{
if(param == null) return;
// do something
}
void Method(type param)
{
if(param != null)
{
// do something
}
}
Какой из них быстрее, если параметр равен нулю?Какой из них быстрее
Короткий ответ: Это не имеет значения. Если вы тратите свое время на это, вы делаете это неправильно.
Длинный ответ: вы закодировали его в обоих направлениях. Теперь все, что осталось, - это загрузить профилировщик и проверить на себя, который быстрее! Тогда вы увидите, что это не имеет значения.
Но, независимо от того, что вы думаете или что скажут ваши профилирующие тесты, используйте первую версию. Это более читаемо.
дубликат дубликата - но действительно, если бы * была * любая разница, эта микро-оптимизация не будет вашей проблемой когда-либо. – BrokenGlass
Профилировали ли вы его? –
Оцените это и узнайте наверняка. – David