저는 C # 초보자이고 문제가 발생했습니다. 삼항 연산자 ( ? :
)를 다룰 때 C #과 Java에는 차이가 있습니다 .
다음 코드 세그먼트에서 네 번째 줄이 작동하지 않는 이유는 무엇입니까? 컴파일러는 오류 메시지를 표시합니다 there is no implicit conversion between 'int' and 'string'
. 다섯 번째 줄도 작동하지 않습니다. 둘 다 List
객체 죠, 그렇죠?
int two = 2;
double six = 6.0;
Write(two > six ? two : six); //param: double
Write(two > six ? two : "6"); //param: not object
Write(two > six ? new List<int>() : new List<string>()); //param: not object
그러나 동일한 코드가 Java에서 작동합니다.
int two = 2;
double six = 6.0;
System.out.println(two > six ? two : six); //param: double
System.out.println(two > six ? two : "6"); //param: Object
System.out.println(two > six ? new ArrayList<Integer>()
: new ArrayList<String>()); //param: Object
C #에서 누락 된 언어 기능은 무엇입니까? 있는 경우 추가되지 않는 이유는 무엇입니까?