Ben bir C # acemiyim ve sadece bir sorunla karşılaşıyorum. Üçlü operatör ( ? :
) ile çalışırken C # ve Java arasında bir fark vardır .
Aşağıdaki kod segmentinde, 4. satır neden çalışmıyor? Derleyici bir hata mesajı gösteriyor there is no implicit conversion between 'int' and 'string'
. 5. satır da çalışmıyor. İkisi List
de nesne, değil mi?
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
Ancak, aynı kod Java'da çalışır:
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 # 'da hangi dil özelliği eksik? Varsa neden eklenmedi?