C#创建文件using是什么意思
答案:5 悬赏:60 手机版
解决时间 2021-03-27 02:14
- 提问者网友:锁深秋
- 2021-03-26 09:06
C#创建文件using是什么意思
最佳答案
- 五星知识达人网友:蓝房子
- 2021-03-26 10:12
这个用法是为了自动释放所占用的资源的。使用using包起来的对象在using语句结束的时候会自动的调用其Dispose方法来释放对象,而对于没有继承于IDispose接口的对象,这个用法就无效了,也没有必要了。
如果你不用using(){}这个用法,那么你必需要考虑使用try finally这个结构且要调用对象的Dispose方法。
比如:
using (Font font1 = new Font("Arial", 10.0f))
{
byte charset = font1.GdiCharSet;
}
相当于如下的语句:
Font font1 = new Font("Arial", 10.0f);
try
{
byte charset = font1.GdiCharSet;
}
finally
{
if (font1 != null)
((IDisposable)font1).Dispose();
}
如果你不用using(){}这个用法,那么你必需要考虑使用try finally这个结构且要调用对象的Dispose方法。
比如:
using (Font font1 = new Font("Arial", 10.0f))
{
byte charset = font1.GdiCharSet;
}
相当于如下的语句:
Font font1 = new Font("Arial", 10.0f);
try
{
byte charset = font1.GdiCharSet;
}
finally
{
if (font1 != null)
((IDisposable)font1).Dispose();
}
全部回答
- 1楼网友:孤老序
- 2021-03-26 13:25
简单的讲就是省去关闭的语句,在using里创建的在用完后都会自动关闭,有了这两句执行完读写后自动关闭文件流和读写器释放资源
- 2楼网友:一袍清酒付
- 2021-03-26 13:07
有些对象在使用过程中,资源是不会自动释放的,比较文件流要关闭,数据库连接要关闭,通常该对象提供的都有类似.Close()的方法,但程序员往往会忘写这句代码
如果使用using(此处实例化需要释放资源的对象){此处可以不写.Close(),也会自动翻译资源}
如果使用using(此处实例化需要释放资源的对象){此处可以不写.Close(),也会自动翻译资源}
- 3楼网友:空山清雨
- 2021-03-26 12:10
某些必须关闭释放的变量你可能忘记或者是忽略。
using就是为了你在此内生成的必须释放关闭变量,在运行结束后自动帮你释放。
using就是为了你在此内生成的必须释放关闭变量,在运行结束后自动帮你释放。
- 4楼网友:老鼠爱大米
- 2021-03-26 11:48
自动调用Dispose()释放资源
你的代码,和下面的效果是一样的,这么看,你就明白了
FileStream fs;
try
{
fs = File.Create(FilePath);
StreamWriter sw;
try
{
sw = new StreamWriter(fs);
sw.WriteLine("这是使用Create创建文件的方法");
sw.Flush();
}
catch
{
throw;
}
finally
{
sw.Dispose();
}
}
catch
{
throw;
}
finally
{
fs.Dispose();
}
你的代码,和下面的效果是一样的,这么看,你就明白了
FileStream fs;
try
{
fs = File.Create(FilePath);
StreamWriter sw;
try
{
sw = new StreamWriter(fs);
sw.WriteLine("这是使用Create创建文件的方法");
sw.Flush();
}
catch
{
throw;
}
finally
{
sw.Dispose();
}
}
catch
{
throw;
}
finally
{
fs.Dispose();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯