Dizinin boyutunu bilmiyorsanız veya zaten eklediğiniz mevcut bir diziniz varsa. Bunu iki şekilde yapabilirsiniz. Birincisi jenerik kullanmaktır List<T>
: Bunu yapmak için diziyi a dönüştürmek var termsList = terms.ToList();
ve Add yöntemini kullanmak istersiniz . Sonra bittiğinde var terms = termsList.ToArray();
bir diziye geri dönüştürmek için yöntemi kullanın.
var terms = default(int[]);
var termsList = terms == null ? new List<int>() : terms.ToList();
for(var i = 0; i < 400; i++)
termsList.Add(i);
terms = termsList.ToArray();
İkinci yol, geçerli diziyi yeniden boyutlandırmaktır:
var terms = default(int[]);
for(var i = 0; i < 400; i++)
{
if(terms == null)
terms = new int[1];
else
Array.Resize<int>(ref terms, terms.Length + 1);
terms[terms.Length - 1] = i;
}
.NET 3.5 kullanıyorsanız Array.Add(...);
Bunların her ikisi de dinamik olarak yapmanıza izin verecektir. Çok sayıda öğe ekleyecekseniz sadece a kullanın List<T>
. Sadece birkaç öğe varsa, diziyi yeniden boyutlandırmak daha iyi performansa sahip olacaktır. Bunun nedeni, List<T>
nesneyi oluşturmak için daha fazla isabet almanızdır.
Times keneler içinde:
3 öğe
Dizi Yeniden Boyutlandırma Süresi: 6
Liste Ekleme Süresi: 16
400 öğe
Dizi Yeniden Boyutlandırma Süresi: 305
Liste Ekleme Süresi: 20