0

我有DateTimePicker (dtpDate)一个 Windows GUI 和另一个DateTimePicker (trackDate)在代码后面定义的。

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

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

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

欢迎任何帮助。

谢谢。

4

1 回答 1

4

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

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

作为一个更简单的例子:

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

了解这一点非常重要。它会影响您在 C# 中所做的一切。阅读我关于值类型和引用类型的文章以获取更多详细信息。

如果您只想将从一个复制DateTimePicker到另一个,请使用:

trackDate.Value = dtpDate.Value;

如果您想做其他事情,您需要向我们提供该信息...

于 2013-02-23T19:23:18.787 回答