Dynamic array dalam C#

Apakah ada metode untuk menciptakan dynamic array di C#?

Mengomentari pertanyaan (2)

Memperluas pada Chris dan Migol jawaban dengan kode sampel.

Menggunakan array

Student[] array = new Student[2];
array[0] = new Student("bob");
array[1] = new Student("joe");

Menggunakan daftar generik. Di bawah tenda Daftar<T> kelas menggunakan array untuk penyimpanan tetapi tidak begitu dalam mode yang memungkinkan untuk tumbuh efisien.

List list = new List();
list.Add(new Student("bob"));
list.Add(new Student("joe"));
Student joe = list[1];
Komentar (2)

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

List list = new List();
list.Add("one");
list.Add("two");
list.Add("three");

string[] array = list.ToArray();

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)

Komentar (3)

Daftar<T> untuk sangat diketik satu, atau ArrayList jika anda memiliki .NET 1.1 atau cinta untuk cor variabel.

Komentar (0)

Anda dapat melakukan ini dengan benda-benda yang dinamis:

var dynamicKeyValueArray = new[] { new {Key = "K1", Value = 10}, new {Key = "K2", Value = 5} };

foreach(var keyvalue in dynamicKeyValueArray)
{
    Console.Log(keyvalue.Key);
    Console.Log(keyvalue.Value);
}
Komentar (0)

Dynamic Array Contoh:

Console.WriteLine("Define Array Size? ");
int number = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Enter numbers:\n");
int[] arr = new int[number];

for (int i = 0; i < number; i++)
{
    arr[i] = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < arr.Length; i++ )
{
    Console.WriteLine("Array Index: "+i + " AND Array Item: " + arr[i].ToString());
}
Console.ReadKey();
Komentar (0)

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

Komentar (0)