Nếu bạn không biết kích thước của Mảng hoặc đã có sẵn một mảng mà bạn đang thêm vào. Bạn có thể đi về điều này theo hai cách. Đầu tiên là sử dụng chung List<T>
: Để làm điều này, bạn sẽ muốn chuyển đổi mảng thành a var termsList = terms.ToList();
và sử dụng phương thức Add. Sau đó, khi hoàn thành sử dụng var terms = termsList.ToArray();
phương thức để chuyển đổi trở lại một mảng.
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();
Cách thứ hai là thay đổi kích thước mảng hiện tại:
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;
}
Nếu bạn đang sử dụng .NET 3.5 Array.Add(...);
Cả hai điều này sẽ cho phép bạn làm điều đó một cách linh hoạt. Nếu bạn sẽ thêm nhiều mục thì chỉ cần sử dụng a List<T>
. Nếu nó chỉ là một vài mục thì nó sẽ có hiệu suất thay đổi kích thước mảng tốt hơn. Điều này là do bạn mất nhiều thời gian hơn để tạo List<T>
đối tượng.
Thời gian trong tích tắc:
3 mục
Thời gian thay đổi kích thước mảng: 6
Danh sách Thêm thời gian: 16
400 mặt hàng
Thời gian thay đổi kích thước mảng: 305
Danh sách Thêm thời gian: 20