有以下代码
// Open the stream and read it back.
using (StreamReader sr = File.OpenText(path))
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}using(..)括起来是什么意思?
// Open the stream and read it back.
using (StreamReader sr = File.OpenText(path))
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}using(..)括起来是什么意思?
解决方案 »
- C# WINFORM中WebBrowser中DocumentCompleted事件
- 如何设置excel的单元格对齐为填充
- dataGridView的列明问题
- 关于保存上传Excel
- 在B/S下如何对网站加一个软件使用期.非常感谢!!!
- 谁来帮我看看这个JS脚本那里有问题!
- c#中当控件的数量巨多的时,刷新慢如何解决?
- PropertyGrid 问题:如何取得任一 GridItem 并检查它的值?
- 字符串连接问题,很简单,送分题,先来先得
- 如何将excel中的数据表转换成Access数据表?
- Coalesys Panelbar for Asp.net的注册问题
- 如何去除datagrid某一行的删除按钮.
当到达 using 语句的末尾,或者如果在语句结束之前引发异常并且控制离开语句块,都可以退出 using 语句。
using (type variable = initialization)
embeddedStatement
它等同于
{
type variable = initialization;
try
{
embeddedStatement
}
finally
{
if (variable != null)
{
((IDisposable)variable).Dispose();
}
}
}
1、就是引用命名空间
2、就是你要问的,using (StreamReader sr = File.OpenText(path)) {}意思是在执行完using()的大括号中的语句时,将调用对象的Dispose方法,将对象从托管堆中释放。
这个语句和以下这个语句是相等的。
StreamReader sr;
try
{
sr = File.OpenText(path);
}
finally
{
sr.Dispose();
}
不是所有的对象声明都可以这样写,对于对象中没有包含Dispose方法的,不能用这个语句写。
1、就是引用命名空间
2、就是你要问的,using (StreamReader sr = File.OpenText(path)) {}意思是在执行完using()的大括号中的语句时,将调用对象的Dispose方法,将对象从托管堆中释放。你的这句的主要的作用是2中的。为了释放资源。