Đây là
rõ ràng không phải là
xuất hiện như thể đó không phải là phương pháp hay nhất. Ai đó có thể giải thích lý do tại sao nó sẽ không phải là một thực hành tốt nhất hoặc làm thế nào điều này hoạt động? Bất kỳ cuốn sách hoặc bài viết nào cung cấp giải thích sẽ được đánh giá cao.Biến cục bộ với đại biểu
//The constructor
public Page_Index() {
//create a local value
string currentValue = "This is the FIRST value";
//use the local variable in a delegate that fires later
this.Load += delegate(object sender, EventArgs e) {
Response.Write(currentValue);
};
//change it again
currentValue = "This is the MODIFIED value";
}
Giá trị là đầu ra là giá trị thứ hai "Đã sửa đổi". Phần nào của ma thuật biên dịch là làm công việc này? Điều này đơn giản như theo dõi giá trị trên heap và lấy lại nó sau?
[Chỉnh sửa]: Với một số ý kiến, thay đổi bản án ban đầu một số ...
Không có gì sai với thực hành đó. Nó chỉ là tiên tiến hơn người mới bắt đầu sẽ hiểu. – leppie
được phân bổ; trong thực tế, nó có thể làm cho thiết kế rất sạch sẽ/thanh lịch - nhưng bạn cần phải hiểu những tác động. –
Điều đó thực sự khá thú vị. Tôi sẽ không nghĩ rằng rối tung với các biến địa phương trong phạm vi đại biểu được chỉ định sẽ là thực hành tốt, nhưng bạn học một cái gì đó mới tất cả các thời gian. – Hugoware