これは明らかにベストプラクティスではないようです。なぜそれがベストプラクティスではないのか、またはこれがどのように機能するのかを誰かが説明できますか? 説明を提供する本や記事をいただければ幸いです。
//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";
}
出力される値は、2 番目の値"Modified"です。コンパイラの魔法のどの部分がこれを機能させていますか? これは、ヒープ上の値を追跡し、後で再度取得するのと同じくらい簡単ですか?
[編集]: いくつかのコメントを考慮して、元の文をいくつか変更します...