2012-02-15 3 views
-9
void Method(type param) 
{ 
    if(param == null) return; 
    // do something 
} 

void Method(type param) 
{ 
    if(param != null) 
    { 
    // do something 
    } 
} 

Какой из них быстрее, если параметр равен нулю?Какой из них быстрее

+4

дубликат дубликата - но действительно, если бы * была * любая разница, эта микро-оптимизация не будет вашей проблемой когда-либо. – BrokenGlass

+2

Профилировали ли вы его? –

+3

Оцените это и узнайте наверняка. – David

ответ

7

Короткий ответ: Это не имеет значения. Если вы тратите свое время на это, вы делаете это неправильно.

Длинный ответ: вы закодировали его в обоих направлениях. Теперь все, что осталось, - это загрузить профилировщик и проверить на себя, который быстрее! Тогда вы увидите, что это не имеет значения.

Но, независимо от того, что вы думаете или что скажут ваши профилирующие тесты, используйте первую версию. Это более читаемо.

Смежные вопросы