如果我想缩小 C# 中变量的范围,我可以引入额外的大括号 - 即:
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 时,有没有类似的方法来缩小范围?这对内部范围中定义的变量何时可能被垃圾收集有任何影响吗?