我有这样的对象:
DateTime a;
DateTime b;
DateTime c;
如果我做:
b=a;
接着:
b=c;
我的a
平等c
。
我知道这是动态对象,我已经将它们与参考绑定。但我不想绑定它们。我怎样才能避免这种情况?我怎样才能制作:b=c;
没有a=c;
同时制作?
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:002012 年 5 月 5 日 0:00:00
2005 年 5 月 5 日 0:00:00
通常这可以通过实现ICloneable
which 定义Clone
方法来完成(在不同的情况下)。