Lebih
Dynamic array dalam C#
Apakah ada metode untuk menciptakan dynamic array di C#?
102
8
Apakah ada metode untuk menciptakan dynamic array di C#?
Lihatlah Generic List.
Memperluas pada Chris dan Migol jawaban dengan kode sampel.
Menggunakan array
Menggunakan daftar generik. Di bawah tenda Daftar<T> kelas menggunakan array untuk penyimpanan tetapi tidak begitu dalam mode yang memungkinkan untuk tumbuh efisien.
Kadang-kadang polos array yang disukai untuk Generic Daftar, karena mereka lebih nyaman (Baik kinerja biaya yang mahal untuk komputasi Numerik Aljabar Aplikasi misalnya, atau untuk bertukar Data dengan perangkat lunak Statistik seperti R atau Matlab)
Dalam hal ini anda dapat menggunakan ToArray() metode setelah memulai anda Daftar secara dinamis
Tentu saja, ini memiliki akal hanya jika ukuran array tidak pernah diketahui atau tetap ex-ante. jika anda sudah mengetahui ukuran array di beberapa titik dari program lebih baik untuk memulai sebagai fixed panjang array. (Jika anda mengambil data dari sebuah ResultSet misalnya, anda bisa menghitung ukuran dan memulai sebuah array dari ukuran tersebut, secara dinamis)
Daftar<T>
untuk sangat diketik satu, atauArrayList
jika anda memiliki .NET 1.1 atau cinta untuk cor variabel.Anda dapat melakukan ini dengan benda-benda yang dinamis:
Dynamic Array Contoh:
Gunakan array list yang benar-benar menerapkan array. Dibutuhkan awalnya array dari ukuran 4 dan ketika sampai penuh, baru array diciptakan dengan ukuran ganda dan data dari array pertama mendapatkan disalin ke dalam array kedua, sekarang item baru dimasukkan ke array baru. Juga nama array kedua menciptakan sebuah alias dari dulu sehingga dapat diakses dengan nama yang sama seperti sebelumnya dan array pertama akan dibuang
Jawaban ini tampaknya menjadi jawaban yang anda cari https://stackoverflow.com/questions/7478048/why-cant-i-do-this-dynamic-x-new-expandoobject-foo-12-bar-twelve
Baca tentang
ExpandoObject
di sini https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(v=vs. 110).aspxDan
dinamis
ketik di sini https://msdn.microsoft.com/en-GB/library/dd264736.aspx