C# c语言中对象引用的一点混乱#
我有一个简单的问题,但我问得很困惑。 这两种情况的区别是什么 (一) (二)C# c语言中对象引用的一点混乱#,c#,.net,C#,.net,我有一个简单的问题,但我问得很困惑。 这两种情况的区别是什么 (一) (二) 版本(2)创建一个新的数据集,然后将其交给垃圾收集。除此之外,它们是相同的。在版本1中,发生了以下情况: getUsers创建一个新的DataSet对象 引用存储在ds中 在版本2中,会发生以下情况: 一个新的数据集对象被实例化,对它的引用存储在ds中 getUsers创建不同的DataSet对象 对这个新的数据集的引用将存储在ds中 旧的数据集现在不再有任何引用它的变量,将由垃圾收集器拾取 在第二个例子中,您不必要地
版本(2)创建一个新的数据集,然后将其交给垃圾收集。除此之外,它们是相同的。在版本1中,发生了以下情况:
getUsers
创建一个新的DataSet
对象ds
中数据集
对象被实例化,对它的引用存储在ds
中getUsers
创建不同的DataSet
对象数据集的引用将存储在ds
中
数据集
现在不再有任何引用它的变量,将由垃圾收集器拾取在第二个例子中,您不必要地创建了一个空的
数据集
,所以第一个是优化的?不确定“优化”这个词是否正确,但是的,(1)是更好的选择,因为(2)中的新数据集()行没有任何用处。@Reed Copsey,谢谢,这就是我想说的。你说得更简洁了!:)thanx是一个简短而简单的解释。@ReedCopsey是第一个?
DataSet ds = getUsers();
DataSet ds = new DataSet();
ds = getUsers();