Похоже, что проверка на ноль стоит того, чтобы просто избежать малой вероятности того, что объект будет нулевым. Посмотрите на мой ответ на Как я могу изменить коллекцию очередей в цикле?
В примере Queue.Dequeue()
никогда не должен возвращать ноль, но это так. Это крайний случай, но я не понимаю, почему вы не хотите избегать необработанного исключения, особенно если это так просто, как if (object != null)
Для Хенка (вы можете запустить код самостоятельно и получить аналогичные результаты):
альтернативный текст http://www.ccswe.com/temp/Untitled.png
В любом случае, я просто высказывал свое мнение, что только потому, что в документации сказано, что это будет делать одно, не значит, что так будет всегда. Не уверен, почему я получил отрицательный голос просто потому, что у кого-то другое мнение: -)
Редактировать: Глупая подсказка, в любом случае вы можете увидеть обработанную 9998065, а встречающиеся нулевые значения - 2264. Если с моим примером кода что-то принципиально не так, мне было бы интересно услышать его , Я сейчас отступлю от этой темы.