我有类似的对象:
DateTime a;
DateTime b;
DateTime c;
如果我做:
b=a;
然后:
b=c;
我的a
等于c
。
我知道这是动态对象,我已经参考了它们。但我不想绑定它们。我怎么能避免这个?如何在不同时b=c;
的情况下制作a=c;
?
答案 0 :(得分:3)
DateTime
是struct
,这意味着它是值类型。
请参阅以下示例:
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
5/05/2005 0:00:005/05/2012 0:00:00
5/05/2005 0:00:00
通常可以通过实施定义Clone
方法的ICloneable
来完成(在不同的情况下)。