static void Main(string[] args) { ShapeCache.LoadCache(); Shape cloneShape1 = ShapeCache.GetShape("1"); cloneShape1.Draw(); cloneShape1.Arr[1] = 4; Shape cloneShape2 = ShapeCache.GetShape("2"); cloneShape2.Draw(); Shape cloneShape3 = ShapeCache.GetShape("3"); cloneShape3.Draw(); Console.WriteLine("test Deep Copy1:" + cloneShape1.Arr[1]); Console.WriteLine("test Deep Copy3:" + cloneShape3.Arr[1]); }