Tôi cho rằng đây là một câu hỏi rất ngớ ngẩn nhưng tôi đã tìm kiếm và không thể tìm thấy câu trả lời cho các câu hỏi sau đây. Thực sự đánh giá cao câu trả lời làm sáng tỏ điều này.Tạo đối tượng mới liên tục trên cùng một biến
1) Điều gì sẽ xảy ra với đối tượng trước nếu tạo một đối tượng mới trong cùng một phương thức. Ví dụ:
DataTable dataTable = new DataTable();
dataTable = new DataTable(); // Will the previously created object be destroyed and memory freed?
2) Câu hỏi tương tự như (1) nhưng trên biến tĩnh. Ví dụ:
static private DataView dataView;
private void RefreshGridView()
{
dataView = new DataView(GetDataTable()); // Will the previously created objects be destroyed and memory freed?
BindGridView();
}
Cảm ơn!
Tôi nhận ra rằng mẫu mã trong (1) đơn giản hóa một cái gì đó phức tạp hơn, nhưng tôi chỉ nghĩ rằng tôi sẽ nhận xét rằng nó giống như một thực hành mã hóa khó chịu mà tôi thấy mọi lúc , thường là dưới dạng gán một giá trị được trả về bởi hàm cho biến ngay sau khi gán đối tượng mới ban đầu trong khai báo biến. Không có vấn đề gì trong việc thực hiện nhiệm vụ đầu tiên (trừ khi nhà xây dựng gây ra một số loại tác dụng phụ, đó sẽ là một việc thực hiện rất kém/có vấn đề). –