(어떤==시스템입니다.이 변환은 지원.값)vs(는 모든이 시스템입니다.이 변환은 지원)
문제
하나는 기본 설정을 확인하는 방법에는 경우 값이 DBNull
?내가 찾는 이러한 두 가지 문을 내게 내가 원하는 결과를,하지만 단지 궁금해 있는 경우에 특혜?
if (any is System.DBNull)
과 같:
if (any == System.DBNull.Value)
감사합니다!
해결책
if (any == System.DBNull.Value) ...
내가 선호하는 간단하기 때문에,내가 읽는 것으로 비교 가치,지 유형이 있다.
다른 팁
내가 사용하는 경향이
if (DBNull.Value.Equals(value)) {
//
}
나
if (Convert.IsDBNull(value)) {
//
}
is
리플렉션을 사용하지 않으로 Kevlar623 말한다.그것은 지도 isinst
작업에 IL.에는 수준으로 성과를 비교하는 것은 정말 바보 같은,당신이하지 않는 한 일에 미사일 가이드 시스템을 가지고 있습니다.
내가 사용하는 value is DBNull
. 그것은 바로 소리와 같은 편집자,나는 믿을 수 없는 유일한 값에 존재입 DBNull.Value
.버그를 발생.
는 경우에 당신은 c#을 사용해야 합니다 ==
; is
리플렉션을 사용하여 더 비싼을 컴퓨팅,특히 있기 때문에만 하나의 인스턴스 System.DBNull
.
내가 좋아하는"시스템입니다.이 변환은 지원"자기 때문에 나는 증오의 아이디어를 비교하는 뭔가가 NULL 이 사실이다.다른 많은 구문(무슨 일이 복수 그?) 는 것이 아무것도==NULL NULL 을 반환합니다.
내가 있다는 것을 이해의 이 변환은 지원.가치한 이유입니다.내가 알고있다.나는 목록을 나호)
이번에는 좋은 예의 양식을 다음과 같이 기능입니다.중 하나는 실행하는 더 효율적으로는 방법입니다.보는 것,읽기,또는 나쁜 이름 그것은 당신을 호출하는 관련이 없습니다.언어를 사용 효율적으로지 않는 형의 언어로 새로운 하나입니다.