2010-11-24 220 views

回答

155

日期時間是一個值類型(struct)。

這意味着下面創建一個副本:

DateTime toBeClonedDateTime = DateTime.Now; 

DateTime cloned = toBeClonedDateTime; 
+9

+1用於指定它是一個結構/值類型。 – 2013-12-24 09:13:17

7

DateTime是一種值類型,因此每次您將它分配給您正在克隆的新變量。

DateTime foo = DateTime.Now; 
DateTime clone = foo; 
19
var original = new DateTime(2010, 11, 24); 
var clone = original; 

DateTime是值類型,所以當你分配給它,你也克隆它。也就是說,克隆它是沒有意義的,因爲它是不可改變的;通常情況下,如果您打算更改其中一個副本,您只會克隆一些東西。

+0

+1同意。我解決這個問題的方式是創建一個新的DateTime對象,並從原始的日期時間對象中複製我想克隆的所需部分,例如(日,月,年),然後手動爲新對象設置時間。 .. 舉個例子。 – Dal 2010-11-24 11:15:20