0

我有这样的对象:

DateTime a;
DateTime b;
DateTime c;

如果我做:

b=a;

接着:

b=c;

我的a平等c
我知道这是动态对象,我已经将它们与参考绑定。但我不想绑定它们。我怎样才能避免这种情况?我怎样才能制作:b=c;没有a=c;同时制作?

4

1 回答 1

3

DateTime是 astruct这意味着它是一个值类型。

请参见以下示例:

void Main()
{
    DateTime a = new DateTime(2005, 05, 05);
    DateTime b = a;

    Console.WriteLine (a);
    Console.WriteLine (b);
    
    a = new DateTime(2012, 05, 05);
    Console.WriteLine (a);
    Console.WriteLine (b);
}

输出:

2005 年 5 月 5 日 0:00:00
2005 年 5 月 5 日 0:00:00

2012 年 5 月 5 日 0:00:00
2005 年 5 月 5 日 0:00:00

通常这可以通过实现ICloneablewhich 定义Clone方法来完成(在不同的情况下)。

于 2013-10-19T11:16:12.703 回答