2012-03-07 2 views
12

C#에서 nullable (?) 클래스를 만드는 방법은 무엇입니까? Like :nullable 클래스 만들기

public class Hello1 { 
    public int Property1 { get; set; } 
} 

public class Hello2 { 
Public Hello1? Property2 { get; set; } //Hello1 should work when it has "?" 
} 

Hello1 클래스를 "Hello1?"형식으로 만들고 싶습니다. 필요한 경우.

+1

이 항목은 http://stackoverflow.com/questions/3132667/nullable-class의 중복입니다. – evasilchenko

답변

31

참조 유형에 대해 null 입력 가능 유형을 작성할 필요가 없습니다. 그들은 이미 nullable입니다. int, bool, decimal 등의 값 유형에만이 작업을 수행하면됩니다.

+0

Ok KeyPairPair 수업과. 구조체이므로 "?"가 필요했습니다. 나는 똑같은 것을 만들려고 노력했다. 말된다. – iefpw

8

필요하지 않습니다. 참조 유형은 이미 null 일 수 있습니다. 구조체는 단순히 ?을 추가하면이됩니다. 따라서 ?을 제거하고 평소와 같이 == null을 사용하여 null을 확인하십시오.

0

Hello1은 이미 nullable입니다. 귀하의 재산에 ?이 필요하지 않습니다.

편집 - 난 당신이 null로 Hello1.Property1을 설정하려고 할 수 있습니다, 당신은 Hello1 널 (NULL)을하는 것을 허용 할 것으로 기대하고 의심한다. 그렇지 않습니다. 그럴 경우 Property1을 nullable로 표시해야합니다.

1

모든 클래스는 null입니다. 널값은 null 일 수없는 값 유형입니다.

0

Hello1은 이미 참조 유형이므로 null이 될 수 있습니다.
nullable syntax "classname?" int, DateTime, float 등과 같이 값 유형에만 적용 할 수 있으며, 일반적으로 null이 될 수 없습니다.

2

물음표 만 제거하면됩니다. 모든 클래스는 기본적으로 nullable입니다. 구조체와 같은 값 유형 객체 만 명시 적으로 nullable로 만들어야합니다.