c# - c#中的对象引用有点困惑

标签 c# .net

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

1)

DataSet ds = getUsers();

2)

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

最佳答案

在版本 1 中发生了以下情况:

  1. getUsers 创建一个新的 DataSet 对象。
  2. 引用存储在 ds 中。

在版本 2 中发生了以下情况:

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

关于c# - c#中的对象引用有点困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303722/

相关文章:

c# - 给定 IntPtr 句柄,更改窗口背景颜色

c# - 当没有编码时,如何在整个项目文件中强制使用 C# 根命名空间?

c# - 推送或轮询

c# - 如何声明一个不同于函数签名的新委托(delegate)?

c# - InputArray 作为 Emgu CV 中的参数

.net - 当业务规则是属性可访问性时,如何测试它?

C# 通过 SSH.NET 发送 Ctrl+Y

c# - 迁移到 .net core 2.0 session 后停止正常工作

c# - 如何使用 ImageSharp 调整中心大小并裁剪图像

c# - 为什么我的中继器在代码后面为空?