来看下面的GDI+的代码

gogogo 2003-03-28 01:13:46
窗体中有以下的代码
private void button1_Click(object sender, System.EventArgs e)
{
Graphics g= base.CreateGraphics();
g.DrawLine(new Pen(Color.Blue),10.0F,10.0F,100.0F,100.0F);
g.Dispose();
}
问这里的g.Dispose();需要调用吗?为什么?

以下代码
public void FromImageImage(PaintEventArgs e)
{
Image imageFile = Image.FromFile("SampImag.jpg");
Graphics newGraphics = Graphics.FromImage(imageFile);
newGraphics.FillRectangle(new SolidBrush(Color.Black), 100, 50, 100, 100);
e.Graphics.DrawImage(imageFile, new PointF(0.0F, 0.0F));
newGraphics.Dispose();
}

问这里的newGraphics.Dispose();需要调用吗?为什么?
两者有何不同
...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebirdboy 2003-03-28
  • 打赏
  • 举报
回复
我同意jerryfangsh的说法!!
jerryfangsh 2003-03-28
  • 打赏
  • 举报
回复
第一个不用,因为第一个是由控件创建的,可以由GC及时释放

但是第二个却是从文件创建的图形对象,这时需要你自己手动及时释放。
gogogo 2003-03-28
  • 打赏
  • 举报
回复
请分别来说,因为我看到.NET的例子中是不同的,第一个不用,第二个要,最好讲出道理
dragontt 2003-03-28
  • 打赏
  • 举报
回复
在C#中可以不自行释放资源
由GC(垃圾收集器)帮你搞定
不过,你确定不用的话
自行释放也可以
yuanwl 2003-03-28
  • 打赏
  • 举报
回复
不需要的,但你释放了也没关系!

110,534

社区成员

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

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

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