Tóm tắt
MyList.Free
là đủ.
câu trả lời chi tiết
Các TList<T>
chứa generic sở hữu nội dung của nó. Khi bạn giải phóng hộp chứa, nội dung cũng được xử lý.
Bây giờ, nếu T
là tham chiếu không được quản lý, hoặc là một con trỏ hoặc một lớp, thì danh sách sẽ sở hữu tham chiếu. Nó không sở hữu mà tham chiếu đề cập đến. Vì vậy, nếu bạn có TList<TObject>
, thêm một số đối tượng, và sau đó giải phóng danh sách, các tham chiếu được xử lý, nhưng các đối tượng vẫn còn. Vì vậy, để đối phó với điều này có TObjectList<T>
. Thùng chứa đó có thể được cấu hình để sở hữu các đối tượng cũng như các tham chiếu và do đó loại bỏ các đối tượng tại thời điểm thích hợp.
Hiện tại, trong trường hợp của bạn, mỗi danh sách của bạn chứa loại giá trị hoặc loại được quản lý. Danh sách sở hữu các đối tượng đó và xử lý chúng khi nó bị phá hủy. Vì vậy, đối với tất cả các danh sách của bạn, MyList.Free
là tất cả những gì cần thiết.
Nguồn
2013-03-29 16:12:07
+1. Câu hỏi rất hay. –