Следует ли в C # проверять ссылки, передаваемые методам, на соответствие null?

Ну, несколько месяцев назад я задал аналогичный вопрос о C и C ++ , но в последнее время я уделял больше внимания C # из-за всей "Windows "Телефон".

Итак, в C # нужно ли проверять на NULL на границах методов? Я думаю, что это отличается от C и C ++, потому что в C # обычно можно определить, действительна ли данная ссылка - компилятор предотвратит передачу неинициализированных ссылок где-либо, и, следовательно, единственная оставшаяся возможная ошибка - это быть нулевым . Более того, в .NET Framework для этих вещей определено особое исключение, ArgumentNullException , которое, по-видимому, кодифицирует то, что программисты думают, что они должны получать, когда был передан недопустимый null.

Мое личное мнение еще раз состоит в том, что вызывающий абонент, выполняющий это, не работает, и что упомянутому вызывающему абоненту следует забрасывать его NRE до конца дней. Однако я гораздо менее уверен в этом, чем я в стране нативного кода - C # имеет в этом отношении совсем другой стиль программирования по сравнению с C или C ++.

Итак ... следует ли вам проверять значение null параметры в методах C #?

11
задан Community 23 May 2017 в 11:59
поделиться