2013-02-23 101 views
0

我在Windows GUI上有一个DateTimePicker (dtpDate),在代码后面定义了另一个DateTimePicker (trackDate)C#DateTimePicker参考问题

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

这是怎么发生的?我不相信它应该继续引用dtpDate。

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

任何帮助是值得欢迎的。

谢谢。

+0

你能分享更多的代码吗? – 2013-02-23 19:21:09

回答

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; 

如果你想别人做一些事情,你需要给我们的信息...