找回密码
 立即注册

QQ登录

只需一步,快速开始

robert
金牌服务用户   /  发表于:2011-3-31 15:20:00
11#

  1. class MyPoint
  2. {
  3.        MyPoint Parent {get; set;}
  4.        Point Point {get;set;}
  5. }

  6. void CloneArry(MyPoint[] source, MyPoint[] target)
  7. {
  8.       for(int i = 0; i < source.Length; i++)
  9.       {
  10.              target[i]=new MyPoint(){Parent=source[i].Parent,Point=source[i].Point};
  11.       }
  12. }
复制代码
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-3-31 15:37:00
12#
对不住,经过慎重考虑。
我们决定本次比赛不允许使用Unsafe的Code。请参见
http://gcdn.grapecity.com/showtopic-1309.html
回复 使用道具 举报
gerry
论坛元老   /  发表于:2011-3-31 15:44:00
13#
恩 为了确保参赛人员只专心于算法而不是受限于语言。只使用Managed Code 是必须的。和以前比赛一样,大家的程序都会在沙箱中运行,我们给沙箱的安全级别将不会让选手有 运行包括但不限于 unsafe,反射,dll import 之类的权限。
回复 使用道具 举报
tbugs
中级会员   /  发表于:2011-3-31 17:42:00
14#

回复 11# robert 的帖子

其实我想做的就是内存拷贝而已...不想循环赋值。。。。
路,在此绽放。
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-3-31 18:08:00
15#
呵呵,看来你只能用循环赋值了。
顺便问下,你要参加比赛?
回复 使用道具 举报
tbugs
中级会员   /  发表于:2011-3-31 18:25:00
16#

回复 15# robert 的帖子

呵呵,写个玩玩而已~

能报名参赛吗·?不要奖金~
路,在此绽放。
回复 使用道具 举报
Dijkstra
论坛元老   /  发表于:2011-4-3 10:20:00
17#
  1. public class IdInfo
  2. {
  3.     public int IdNumber;
  4.     public IdInfo(int IdNumber)
  5.     {
  6.         this.IdNumber = IdNumber;
  7.     }
  8. }
  9. public class Person
  10. {
  11.     public int Age;
  12.     public string Name;
  13.     public IdInfo IdInfo;
  14.     public Person ShallowCopy()
  15.     {
  16.        return (Person)this.MemberwiseClone();
  17.     }
  18.     public Person DeepCopy()
  19.     {
  20.        Person other = (Person) this.MemberwiseClone();
  21.        other.IdInfo = new IdInfo(this.IdInfo.IdNumber);
  22.        return other;
  23.     }
  24. }
  25. public class Example
  26. {
  27.     public static void Main()
  28.     {
  29.         // Create an instance of Person and assign values to its fields.
  30.         Person p1 = new Person();
  31.         p1.Age = 42;
  32.         p1.Name = "Sam";
  33.         p1.IdInfo = new IdInfo(6565);
  34.         // Perform a shallow copy of p1 and assign it to p2.
  35.         Person p2 = (Person) p1.ShallowCopy();
  36.         // Display values of p1, p2
  37.         Console.WriteLine("Original values of p1 and p2:");
  38.         Console.WriteLine("   p1 instance values: ");
  39.         DisplayValues(p1);
  40.         Console.WriteLine("   p2 instance values:");
  41.         DisplayValues(p2);
  42.         // Change the value of p1 properties and display the values of p1 and p2.
  43.         p1.Age = 32;
  44.         p1.Name = "Frank";
  45.         p1.IdInfo.IdNumber = 7878;
  46.         Console.WriteLine("\nValues of p1 and p2 after changes to p1:");
  47.         Console.WriteLine("   p1 instance values: ");
  48.         DisplayValues(p1);
  49.         Console.WriteLine("   p2 instance values:");
  50.         DisplayValues(p2);
  51.         // Make a deep copy of p1 and assign it to p3.
  52.         Person p3 = p1.DeepCopy();
  53.         // Change the members of the p1 class to new values to show the deep copy.
  54.         p1.Name = "George";
  55.         p1.Age = 39;
  56.         p1.IdInfo.IdNumber = 8641;
  57.         Console.WriteLine("\nValues of p1 and p3 after changes to p1:");
  58.         Console.WriteLine("   p1 instance values: ");
  59.         DisplayValues(p1);
  60.         Console.WriteLine("   p3 instance values:");
  61.         DisplayValues(p3);
  62.     }
  63.     public static void DisplayValues(Person p)
  64.     {
  65.         Console.WriteLine("      Name: {0:s}, Age: {1:d}", p.Name, p.Age);
  66.         Console.WriteLine("      Value: {0:d}", p.IdInfo.IdNumber);
  67.     }
  68. }
  69. // The example displays the following output:
  70. //       Original values of p1 and p2:
  71. //          p1 instance values:
  72. //             Name: Sam, Age: 42
  73. //             Value: 6565
  74. //          p2 instance values:
  75. //             Name: Sam, Age: 42
  76. //             Value: 6565
  77. //      
  78. //       Values of p1 and p2 after changes to p1:
  79. //          p1 instance values:
  80. //             Name: Frank, Age: 32
  81. //             Value: 7878
  82. //          p2 instance values:
  83. //             Name: Sam, Age: 42
  84. //             Value: 7878
  85. //      
  86. //       Values of p1 and p3 after changes to p1:
  87. //          p1 instance values:
  88. //             Name: George, Age: 39
  89. //             Value: 8641
  90. //          p3 instance values:
  91. //             Name: Frank, Age: 32
  92. //             Value: 7878
复制代码
回复 使用道具 举报
Dijkstra
论坛元老   /  发表于:2011-4-3 10:21:00
18#
不知道这个可不可以帮忙
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部