如果我想缩小在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