0

私はWindowsGUIにあり、コードの背後にDateTimePicker (dtpDate)別の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 に答える