黑马程序员技术交流社区

标题: C#关于image类 [打印本页]

作者: 面朝大海,春暖    时间: 2013-10-12 22:06
标题: C#关于image类
本帖最后由 面朝大海,春暖 于 2013-10-13 08:53 编辑

Image imageT = Image.FromFile(fileName);
image = imageT;
imageT.Dispose();

imageT是在函数中定义的局部变量,image是个全局变量,现在我对imageT进行Dispose操作后发现image为NULL了,问题来了,为什么image也被清空了?请高手解惑?


作者: guo329838627    时间: 2013-10-12 22:32
本帖最后由 guo329838627 于 2013-10-12 22:34 编辑

亲,Dispose()方法就把资源给释放掉了,肯定为空了呀!额,还有,你的image是?

作者: haxyek    时间: 2013-10-12 22:53
类是引用类型,不是值类型。
作者: 夏闯富    时间: 2013-10-12 23:13
image是指向  imageT指向的值,当imageT被销毁时,image指向的变为空(NULL)
作者: 黄广祯    时间: 2013-10-12 23:36
Image类为引用类型,赋值是将两个对象指向同一个内存地址。
  1. static void Main(string[] args)
  2.         {
  3.             int[] intArr = new int[] { 1, 2, 3 };
  4.             int[] newArr = intArr;  //将原数组赋值给新数组
  5.             intArr[0] = 8;  //改变原数组第1个数的值
  6.             Console.WriteLine("intArr[0]={0},newArr[0]={1}",intArr[0],newArr[0]);//输出两个数组的第一个数都是8
  7.             
  8.             Console.ReadKey();
  9.         }
复制代码
希望能帮到你。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2