C#의 null 병합 연산자 (??)에 대한 다음 내용을 이해합니다.Null-Coalescing 연산자 결과의 암시 적 캐스팅
int? input = -10;
int result = input ?? 10;//Case - I
//is same as:
int result = input == null? input : 10; // Case - II
정의 및 용도에 따라 케이스 I과 케이스 II는 동일하지만.
Case-I 컴파일러에서 암시 적으로 int를 캐스팅 할 수 있다는 것은 놀라운 일입니다. int로 to Case II에서 오류를 보여줍니다. 'Error 1 암시 적으로'int 유형을 변환 할 수 없습니까? ' 'INT' "
에 내가 널 병합 연산자에 대해 실종 오전? 관심을
감사합니다.
첫 번째 테스트가 사용해야 '='보다는 '=='보다 – hvd
@hvd! 물론 올바른 I 나쁜 예 데 대한 OP 비난. : - P 편집 됨. –
사실, 당신의 대답이 약간 벗어난 것 같아요. b : c', 여기서'b'는'int'이고'c'는'int'입니다. 그러나 결과에는'int? '유형이 있으므로'(a? b : c) .Value'가 필요합니다. 또는 귀하의 제안 된 수정,에 대한 자리입니다. – hvd