C#DateTimePicker引用问题

时间:2013-02-23 19:20:14

标签: c#

我在Windows GUI上有一个DateTimePicker (dtpDate),在代码后面定义了另一个DateTimePicker (trackDate)

由于某些原因,当我使用trackDate = dtpDate;时,我对trackDate所做的任何更改都会影响dtpDate。

为什么会这样?我不相信它应该继续引用dtpDate。

我试过了 DateTimePicker trackDateDateTimePicker trackDate = new DateTimeTracker();

欢迎任何帮助。

感谢。

1 个答案:

答案 0 :(得分:4)

  

出于某种原因,当我使用trackDate = dtpDate;时,我对trackDate所做的任何更改也会影响dtpDate

是的。那是因为两个变量现在引用同一个对象,因为DateTimePicker是一个类。

作为一个更简单的例子:

StringBuilder x = new StringBuilder();
StringBuilder y = x;
x.Append("Foo");
Console.WriteLine(y); // Prints Foo

非常重要的是你理解这一点。它影响你在C#中所做的一切。请阅读value types and reference types上的文章了解更多详情。

如果您只想将DateTimePicker复制到另一个trackDate.Value = dtpDate.Value; ,请使用:

{{1}}

如果您正在尝试做其他事情,您需要向我们提供这些信息......