2013-06-24 2 views
1

나는 이것이 바보 같은 질문이라는 것을 알고있다. 나는 ASP를 공부하려고한다 .Net MVC 4 나 최근에 나는 의심 스럽다. MVC를 공부하기 위해 사용하는 튜토리얼은 MVC 모델 생성에 다음을 포함하고있다. 코드10 진수 사이의 차이는 무엇입니까? 그리고 십진수

public decimal? cost{get;set;} 

나는 왜 그걸 넣었습니까? 코드에서 자습서는 왜 그들이 그것을 넣었는지 설명하지 못했습니까? 코드에서. 그래서 내 질문에 10 진수와 10 진수의 차이점은 무엇입니까?

답변

4

decimal? 수 있습니다 null

decimalnull 값을 가질 수는 없지만

, 항상 다음과 같은 예를

decimal? foo = null; // value is null 
foo = 5.5M; // value is 5.5 
foo = null; // value is null again 
에서 http://msdn.microsoft.com/en-us/library/1t3y8s4s(v=vs.80).aspx

모습에 nullable 형식에 대한 값

더 있어야

당신은 이런 행동을 할 수 없습니다. avail with nullable type

decimal foo = null; // produces compiler error, Cannot convert null to 'decimal' 
0

십진수? ist nullable, 즉 값을 가질 수 없다는 의미입니다 (0이 아닌 null). 예 : 이것을 고객에게 전달하고 "0"대신 "no data"텍스트를 표시하십시오.

1

VS 2005 년, 우리는이 같은 보인다 "Null 허용"이라는 새로운 유형 도입하고 (실제로는이보다 더 복잡하다, 그러나 나는 간단한 예제를 유지하려는) :

struct Nullable<T> 
{ 
    public bool HasValue; 
    public T Value; 
} 

이 구조체를 직접 사용할 수 있지만 결과 코드를 훨씬 더 깔끔하게 만들 수있는 몇 가지 바로 가기 구문도 추가했습니다. 첫 번째는 null 입력 가능 유형을 선언하기위한 새로운 구문을 도입 한 것입니다. 오히려 입력보다 :

Nullable<int> x = new Nullable<int>(125); I can write: 

int? x = 125; 

당신은 당신은 아마 링크에서 복사 대신 설명을 직접 작성해야 세부 here

+0

이 읽을 수 있습니다. Visual Studio의 8 년 된 버전에 새로운 기능이 도입되었다는 것을 읽으면서 조금 혼란 스러웠습니다. –

관련 문제