如果我想缩小 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时有没有类似的方法来缩小范围?这对内部作用域中定义的变量何时被垃圾收集有任何影响吗?
有趣的是,developerFusion c#-vb.net 代码转换器将
{
myClass y = new myClass();
y.MyProperty = 2000;
Console.WriteLine("y = " + y.MyProperty);
}
to
If True Then
Dim y As New [myClass]()
y.MyProperty = 2000
Console.WriteLine("y = " & y.MyProperty)
End If
作为限制范围的一种方式。我很惊讶它会打扰我彩弹鲍勃的回答
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)