创建对象问题?

kuohai 2009-11-25 10:46:34
请问如果在public partial class Form1 : Form{……}内直接创建对象,比如“UdpClient _client=new UdpClient(4001);”那么是不是程序关闭的后这个对象仍然不消亡,如果在private void Form1_Load(object sender, EventArgs e){……}中创建对象有什么不同?先谢谢了!
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengjian_428 2009-11-25
  • 打赏
  • 举报
回复
两种方式在程序关闭后对象都会释放

只不过你的UdpClient类应该是有些非托管资源需要手动关闭才行
much0726 2009-11-25
  • 打赏
  • 举报
回复
Form1中创建是全局的,Form1_Load中创建是私有的。
主要看你申明在什么地方。如果申明在Form1中是全局的,在Form1_Load中申明就是局部的了。
fengjian_428 2009-11-25
  • 打赏
  • 举报
回复

UdpClient _client= new UdpClient(4001);
_client.Close();
kuohai 2009-11-25
  • 打赏
  • 举报
回复
UdpClient 对象没有Dispose方法啊
nashina 2009-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xeppp 的回复:]
.net有自动垃圾回收机制 程序退出 一切都会自动搞定

用析构函数有时候会报错
[/Quote]

我C# 几乎没有用过析构函数;
有时候用try结构和close,dispose这些配合来使用就足够了
zhujiazhi 2009-11-25
  • 打赏
  • 举报
回复
UdpClient _client=new UdpClient(4001);
_client.Dispose();
xeppp 2009-11-25
  • 打赏
  • 举报
回复
.net有自动垃圾回收机制 程序退出 一切都会自动搞定

用析构函数有时候会报错
kuohai 2009-11-25
  • 打赏
  • 举报
回复
噢,谢谢楼上的兄弟,那我如果想在程序退出是时候调用一些函数把非托管资源关闭,应该加在哪个函数里呢?

110,566

社区成员

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

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

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