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 Listde 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?