2011-02-02 2 views

답변

7

타입이 일치하지 않고, 값 유형이 null 값을 보유 할 수없는 경우 as 연산자 null 반환하기 때문에. myVariable 경우

double d = myVariable as double; 

예를 들어

double는, d는 null 것없고, 즉 double 적절한 값이 아니다.

+4

null 값 유형,'double?','int? '등으로'as'를 사용할 수 있습니다. – LukeH

+0

@ 루크 - 좋은 지적. –

0

그리고 as이 (excelent 설명 here)를 주조 다릅니다.
as은 개체 자체의 표현을 절대로 변경하지 않으며, 필요하다면 형 변환은 개체 자체의 형식을 변경하지만 참조 형식 만 변경합니다. "와

int? i = 3; 
double? d = i as double?; 

오류 유형을 변환 할 수 없습니다 동안

int? i = 3; 
double? d = (double?)i; 

는 유효 (및 작업) C# 코드는 'INT?' '이중?' boxing conversion, unboxing conversion, wrapping conversion 또는 null type conversion "

+0

'as '를 사용하여 null 참조를 null 값 유형으로 변환하면 표현이 변경됩니다. – LukeH

관련 문제