this
在C#中的using
块内引用了什么?
答案 0 :(得分:12)
this
块内的 using
与this
块之外的using
相同:该类的当前实例。
using
块应该与实现IDisposable接口的所有类一起使用。如果它包装了托管和/或非托管资源,那么它就是该类的实现细节。
答案 1 :(得分:2)
1 - 这总是指您当前所在的对象范围
void myFunc(int sameName)
{
this.sameName += sameName;
}
在这种情况下,this.sameName引用名为sameName的classes变量,而没有this限定符的引用引用局部变量(如果你的local / globals具有相同的名称或为了清晰起见,则使用。)
2 - 非托管资源是套接字,http服务器,连接,文件缓冲区等....任何IDisisable(不像自动GC那样像持久连接或某些GUI元素,如无模式等...)< / p>
3 - 技术上是的,如果你没有明确地调用File.Close()或将它放在using语句中,那么你对文件所做的更改可能无法刷回到光盘,所以如果你打开了一个文件缓冲区你应该总是在它上面调用Close()。
编辑:你可以忽略2和3,因为他从问题中删除了它们但我会留在这里以防万一