IMHO 아니요 null을 확인하면 응용 프로그램의 성능 병목 현상이 거의 없을 것입니다. (중요한 경우가있는 백만 가지 경우 중 하나에서 프로파일 러를 사용하여 해당 사례를 찾아서 제거합니다.)
당신의 마음에 형성되어야하는 다른 질문은 "새로운 NullReferenceException()이 오류를 처리하는 가장 좋은 방법입니다."입니다. 종종 사용자가 디버깅 목적으로 더 나은 오류보고를 제공하는 경우에도 사용자가 직접 처리 할 수 있습니다. 대부분의 경우 코드는 정상적으로 null을 처리 할 수 있기 때문에 오류가 전혀 발생하지 않아도됩니다. 널 검사는 정말 오래 걸리지 않습니다
편집
은 편집에 대답합니다. 메소드를 호출하기위한 오버 헤드는 널 체크보다 수십 배는 아니더라도 수십 일 것입니다.널 체크가 중요한 차이를 만들 수있는 유일한 곳은 당신이 거의 아무것도하지 않는 커다란 루프입니다. 이 상황은 자주 발생하지 않습니다. 대개 null을 확인한 다음 해당 참조로 비교적 비싼 것을 수행합니다.
충돌이나 실패가 좋은 상황은 없습니다. null 체크를 사용하여 고객의 데이터를 손상시키고 잃는 것보다 "애플리케이션 속도 저하"를하는 것이 항상 좋습니다.
코드를 중간에 최적화하지 마십시오. 유지 보수가 잘되고 튼튼하게 작성하고, profile 병목 현상이 어디 있는지 확인하십시오. 나는 28 년 동안 프로그래밍을 해왔고 널 체크로 매우 진보적이었고 을 결코 가지지 못했다.은 성능 문제의 원인이 null 체크 인 것을 발견했다. 대개 O (n^2) 접근법이 가능한 O (n^3) 알고리즘을 사용하여 값 비싼 계산 값을 캐시하지 못하는 루프를 통해 많은 불필요한 작업을 수행하는 것과 같은 것입니다.
감사 . EDIT (성능 문제)를 해결할 수 있습니까? – brickner
잘 perf 문제에 말했다. null 체크는 저렴하고 대개 null을 찾지 않습니다. – Stewart