这个using起什么作用???

聆听灬莫问 2013-06-07 02:45:17
using (FileStream fs = new FileStream(strFile, FileMode.Open))
{
IFormatter formatter = new BinaryFormatter();
return (Object)formatter.Deserialize(fs);
}
我知道的using有三个用法:引用命名控件,别名,定义一个范围。这个using起什么作用
...全文
154 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
WDYDXF 2013-06-08
  • 打赏
  • 举报
回复
聆听灬莫问 2013-06-07
  • 打赏
  • 举报
回复
引用 9 楼 jiaoshiyao 的回复:
[quote=引用 8 楼 shimin555 的回复:] [quote=引用 7 楼 jiaoshiyao 的回复:] using()这个括号里面的东西必须实现IDisposed接口才能放到这个括号 其实这里的using是释放资源的意思在 using(){ }大括号结束的时候会自动释放一些重要资源 例如你写到的一个文件流这个不手动释放会很糟糕 所以微软推出了这种写法直接自动释放以免程序员自己忘掉释放 在数据库连接上就会用到这种东西 不过有好多人还是会喜欢用obj.Dispose()这种方法释放 另外 我看到楼上有人说有Try{}catch{}的作用我个人感觉没有 有的话为我留言下吧我也学习下
如果我找到了给你哈。。。。[/quote] 为啥没我的分?[/quote]我结贴之后 你才来的吧...........
jiaoshiyao 2013-06-07
  • 打赏
  • 举报
回复
引用 8 楼 shimin555 的回复:
[quote=引用 7 楼 jiaoshiyao 的回复:] using()这个括号里面的东西必须实现IDisposed接口才能放到这个括号 其实这里的using是释放资源的意思在 using(){ }大括号结束的时候会自动释放一些重要资源 例如你写到的一个文件流这个不手动释放会很糟糕 所以微软推出了这种写法直接自动释放以免程序员自己忘掉释放 在数据库连接上就会用到这种东西 不过有好多人还是会喜欢用obj.Dispose()这种方法释放 另外 我看到楼上有人说有Try{}catch{}的作用我个人感觉没有 有的话为我留言下吧我也学习下
如果我找到了给你哈。。。。[/quote] 为啥没我的分?
聆听灬莫问 2013-06-07
  • 打赏
  • 举报
回复
引用 7 楼 jiaoshiyao 的回复:
using()这个括号里面的东西必须实现IDisposed接口才能放到这个括号 其实这里的using是释放资源的意思在 using(){ }大括号结束的时候会自动释放一些重要资源 例如你写到的一个文件流这个不手动释放会很糟糕 所以微软推出了这种写法直接自动释放以免程序员自己忘掉释放 在数据库连接上就会用到这种东西 不过有好多人还是会喜欢用obj.Dispose()这种方法释放 另外 我看到楼上有人说有Try{}catch{}的作用我个人感觉没有 有的话为我留言下吧我也学习下
如果我找到了给你哈。。。。
jiaoshiyao 2013-06-07
  • 打赏
  • 举报
回复
using()这个括号里面的东西必须实现IDisposed接口才能放到这个括号 其实这里的using是释放资源的意思在 using(){ }大括号结束的时候会自动释放一些重要资源 例如你写到的一个文件流这个不手动释放会很糟糕 所以微软推出了这种写法直接自动释放以免程序员自己忘掉释放 在数据库连接上就会用到这种东西 不过有好多人还是会喜欢用obj.Dispose()这种方法释放 另外 我看到楼上有人说有Try{}catch{}的作用我个人感觉没有 有的话为我留言下吧我也学习下
聆听灬莫问 2013-06-07
  • 打赏
  • 举报
回复
引用 4 楼 Chinajiyong 的回复:
就是{}范围内
嗯 明白了 非常感谢
ycproc 2013-06-07
  • 打赏
  • 举报
回复
EnForGrass 2013-06-07
  • 打赏
  • 举报
回复
就是{}范围内
聆听灬莫问 2013-06-07
  • 打赏
  • 举报
回复
引用 2 楼 Chinajiyong 的回复:
定义一个范围,将在此范围之外释放一个或多个对象。 MSDN的解释http://msdn.microsoft.com/zh-cn/library/yh598w02(v=VS.80).aspx
using (Font font3 = new Font("Arial", 10.0f), font4 = new Font("Arial", 10.0f))如果定义成这样,那释放资源的范围是?
EnForGrass 2013-06-07
  • 打赏
  • 举报
回复
定义一个范围,将在此范围之外释放一个或多个对象。 MSDN的解释http://msdn.microsoft.com/zh-cn/library/yh598w02(v=VS.80).aspx
  • 打赏
  • 举报
回复
自动释放资源 using(Resource res = new Resrouce){},其实相当于 Resource res = new Resrouce try{} catch{} finally{res.Dispose();}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧