你在 Console.WriteLine(count);设断点了吗?
大概意思就是在你第一个变量在释放后第二个变量初始化前的这段时间里 内存中还保留第一个变量存储的数据被称作垃圾数据
这个数据并不能被使用 直到有新的变量占用这个位置后才把原来的数据清除掉
第一个row初始化时,开辟了一个空间(称为空间1)。而row这个变量就指向空间1,从空间1中读数据。在第二个row未初始化时所有的row都是指向空间1,所以显示18.第二个初始化后,又开辟了一个新的空间(称空间2),这时所有的row都又指向空间2,所以所有的值为0.
大概是这样,个人的一点小总结,不对的请指出,希望对你有帮助
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |