Non-nullable property '…' is uninitialized. Consider declaring the property as nullable.
중간 이름은 선택 사항이므로 MiddleName을 nullable로 선언한다. 이것 때문에 컴파일러 오류가 발생하지 않았다.
Note ≣
선택 사항을 나타낼 때 빈 문자열을 사용하는 대신 널을 사용하라. 빈 문자열을 사용하면 동료들이 그 의도를 이해할 수 없다. 빈 문자열이 유효한 값인지 아니면 선택 사항을 의미하는지 알 수가 없다. 하지만 널은 분명하다.
빈 문자열에 대해
앞으로 여러분은 선택 사항을 나타내는 것 이외의 목적으로 빈 문자열을 선언해야 할 때가 있을 것이다. 이때 빈 문자열을 나타내기 위해 "" 표기법을 사용하지 마라. 텍스트 편집기, 테스트 실행기 출력 창 또는 연속 통합 웹 페이지와 같이 코드를 볼 수 있는 다양한 환경 때문에 코드를 단일 공백이 있는 문자열("")과 혼동하기 쉽다. 이미 존재하는 타입을 활용하려면 명시적으로 String.Empty로 빈 문자열을 선언해야 한다. 소문자 클래스 이름 string.Empty와 함께 사용하거나 코드 규칙을 활용할 수도 있다. 여러분의 의도를 전달할 수 있도록 코딩하라.