如果我想縮小在C#的可變範圍縮小,我可以引入額外的括號 - 即:範圍和如何使用VB.Net
class Program
{
static void Main(string[] args)
{
myClass x = new myClass();
x.MyProperty = 1000;
Console.WriteLine("x = " + x.MyProperty);
{
myClass y = new myClass();
y.MyProperty = 2000;
Console.WriteLine("y = " + y.MyProperty);
}
myClass y2 = new myClass();
y2.MyProperty = 3000;
Console.WriteLine("y2 = " + y2.MyProperty);
}
class myClass
{
public int MyProperty { get; set; }
}
}
在IDE中,我不能再參考座標y超出了新大括號引入的範圍。我原以爲這意味着變量y可用於垃圾收集。
(有趣的是,注意,當使用反射鏡觀看經編譯的代碼時,似乎沒有任何區別有或沒有附加的括號)
是否有與此類似用VB時,以縮小範圍的任何方式。淨?這對內部作用域中定義的變量何時可能被垃圾收集有影響嗎?
關於範圍.Net幫助提到With塊定義了作用域的塊級別,它適用於塊內定義的任何內容,但不適用於塊的主題。縮小範圍可以通過使用 與 或 與真正 結束,而實現與1 結束與 但它仍然感覺哈克... – hitch 2009-09-28 06:20:17
的GC行爲是在VB.NET相同。 VB.NET沒有等效於僅用於範圍的語句塊 - 請參閱MSDN條目(來自paintballbob的答案)http://msdn.microsoft.com/en-us/library/1t0wsc67.aspx – MarkJ 2009-09-28 11:21:31