Saya seorang pemula C # dan saya baru saja mengalami masalah. Ada perbedaan antara C # dan Java saat berhadapan dengan operator terner ( ? :
).
Di segmen kode berikut, mengapa baris ke-4 tidak berfungsi? Kompilator menampilkan pesan kesalahan there is no implicit conversion between 'int' and 'string'
. Baris ke-5 juga tidak berfungsi. Keduanya List
adalah objek, bukan?
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
Namun, kode yang sama berfungsi di 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
Fitur bahasa apa di C # yang hilang? Jika ada, mengapa tidak ditambahkan?