속성으로 DBnull을 전달해야 할 때 좋은 사례입니다. nullable 형식으로 만들려면 좋습니다. 왜냐하면 우리가 Null 값을 우리의 변수에 의해 백엔드에 전달해야 할 필요가 있기 때문입니다. 우리는 그것들을 Nullable로 만들었습니다. 그러나 이것은 프로퍼티에서도 괜찮습니다.개체의 속성을 Null 가능 형식으로 지정 하시겠습니까?
답변
경우에 따라 실제로 선택의 여지가 없습니다. 예를 들어 T-SQL bit
데이터 형식 (.NET에서 BOOL
형식); T-SQL에서,이 NULL이 될 수 0 또는 1 그래서, 당신은 같은 NULL이 유형으로 설정해야합니다 :
public bool? MySqlBitField { get; set; }
업데이트 : 나는 책 프레임 워크 디자인 가이드 라인의 빠른 참조했다 (Cwalina, Abrams), Addison Wesley, Nullable 유형 및 사용법 책에서 일부 텍스트를 붙여 넣었습니다. Btw, 나는이 책을 좋은 추천서로 추천한다. 이 책에서
:
존재 (즉, 옵션 값)하지 않을 수 있습니다 값을 표현하기 위해 Null 허용을 사용하는 것이 좋습니다. 예를 들어, 선택적 테이블 C 럼을 나타내는 특성을 가진 데이터베이스에서 강하게 유형화 된 레 Z 드를 리턴 할 때이를 g 용하십시오.
참조 유형 값이 null 일 수 있다는 사실을 이용하여 비슷한 방식으로 참조 유형을 사용하지 않는 한 Nullable을 사용하지 마십시오.
예를 들어, 선택적 매개 변수를 나타 내기 위해 null을 사용하지 않을 것입니다.
// bad design
public class Foo {
public Foo(string name, int? id);
}
// good design
public class Foo {
public Foo(string name, int id);
public Foo(string name);
}
일반적인 three-state 값을 나타 내기 위해 Nullable을 사용하는 AVOID. Nullable은 true, false 및 사용할 수없는 진정한 부울 값을 나타내는 데 사용해야합니다. 세 가지 상태 (예 : 예, 아니요, 취소) 만 나타내려면 열거 형을 사용하는 것이 좋습니다.
System.DBNull을 사용하여 AVOID. 대신 Nullable을 선호하십시오. 파블로 카스트로
Null 허용에서
이참고 옵션 데이터베이스 값의 일반적인 더 나은 표현이다. Nullable은 널 값을 나타낼 수있는 기능을 제공하지만 데이터베이스 null 조작 시맨틱을 가져 오지는 않습니다. 특히 연산자와 함수를 통해 null 전파를 얻지 못합니다. 전달 의미론에 대해 깊이 신경 쓰면 DBNull을 고수하십시오.
- 1. 속성에 속성을 지정 하시겠습니까?
- 2. '.' 연산자 null null 가능
- 3. 창 개체의 모든 속성을 나열 하시겠습니까?
- 4. DateTime의 형식을 국제 형식으로 어떻게 지정 하시겠습니까?
- 5. 매번 사용할 때마다 null 속성을 확인 하시겠습니까?
- 6. .NET에서 Null 가능 정수
- 7. datacontext 개체의 속성을 설정
- 8. 개체의 알려진 속성을 반복합니다.
- 9. 개체의 속성을 실시간으로 변경하십시오.
- 10. 개체의 한 속성을 제거합니다.
- 11. Expect.Call에서 개체의 속성을 설정하십시오.
- 12. 사용자 지정 개체의 NSData
- 13. C#/WPF에서 바운드 개체의 Type()을 가져올 수 있습니까 (바인딩 된 값이 null 인 경우에도 가능)?
- 14. 날짜를 특정 형식으로 지정
- 15. Null 가능 형식에 메서드 추가
- 16. Null 가능 유형 사용 : 부울
- 17. 영역 지정 가능
- 18. CoreData 개체의 문자열 속성을 UIPickerView로로드하십시오.
- 19. C# 개체의 속성을 동적으로 변경하십시오.
- 20. 속성을 기반으로 개체의 SortedSet을 유지
- 21. 개체의 속성을 문자열로 얻으려면 어떻게해야합니까?
- 22. 개체의 속성을 배열로 채우고 싶습니까?
- 23. 개체의 여러 속성을 테스트하는 방법
- 24. 개체의 속성을 Jade에서 지역 주민으로 포함하는 방법은 무엇입니까?
- 25. VB.net : "NULL"을 조건별로 속성에 설정 하시겠습니까?
- 26. 개체의 모든 속성을 업데이트하는 방법은 무엇입니까?
- 27. C#의 하위 문자열을 사용자 지정 형식으로 결합 하시겠습니까?
- 28. 사용자 지정 개체의 NSMutableArray 할당 해제
- 29. DependencyObject의 속성을 나열 하시겠습니까?
- 30. 캐스팅, 지정 가능 및 사용자 지정 변환