c#中的对象引用有点混乱

时间:2013-10-10 18:42:56

标签: c# .net

我有一个简单的问题,但我很困惑,所以问。 这两种情况有什么区别。

1)

DataSet ds = getUsers();

2)

DataSet ds = new DataSet();
ds = getUsers();

2 个答案:

答案 0 :(得分:4)

Version(2)创建一个新的DataSet,然后将其交给垃圾收集。除此之外,它们是一样的。

答案 1 :(得分:4)

在版本1中,会发生什么:

  1. getUsers创建一个新的DataSet对象。
  2. 引用存储在ds
  3. 在版本2中,会发生什么:

    1. 实例化一个新的DataSet对象,对它的引用存储在ds中。
    2. getUsers创建不同的 DataSet对象。
    3. 对此新DataSet的引用存储在ds
    4. 旧的DataSet现在不再有任何引用它的变量,并且会被垃圾收集器接收。