Saya baru saja memperhatikan bahwa namespace FSharp.Core termasuk tipe array generik hingga 4 dimensi, yaitu Core. [] <'T> , Core. [,] <' T>, dll. C # dan VB tampaknya baik-baik saja. dengan System.Array - meskipun tidak jelas bagi saya bagaimana mereka mengelola untuk mendukung tipe array khusus yang diketik dengan kuat seperti int [], string [].
Saya kira ini menjadi dua pertanyaan kemudian:
- Bagaimana C # mendukung tipe array khusus yang sangat diketik seperti int [] berdasarkan System.Array non-generik?
- Mengingat bahwa C # berhasil melakukan ini, mengapa F # mendefinisikan tipe array generik?
Sangat mungkin, dengan menghasilkan kelas khusus yang mewarisi
System.Array
sejak generik tidak tersedia di 1.0. Perilaku ini kemungkinan telah dipertahankan untuk kompatibilitas.Karena F # tidak memiliki kendala kompabilitas yang sama seperti yang dimiliki C # 2.0 dengan kode yang ada. Berdasarkan apa yang saya ketahui, C # 2.0 akan memiliki tipe array generik jika itu adalah rilis pertama dari C #.
sumber