C++/CLI的“值类型的强类型装箱实例”2010-10-22李建忠近来接到几个朋友问Visual C++ 2005 (C++/CLI) Webcast中讲的“值类型的强类型装箱实例”是什么?讲座比较匆忙,因此对这个技术点只是点了一下,没有详细展开。这里借blog把它展开说一下。首先来看下面的C#代码:using System; using System.Collections; struct MyClass { public int data;
} class Test { public static void Main() { MyClass myClass1 = new MyClass(); MyClass myClass2=new MyClass(); ArrayList list=new ArrayList(); list.Add(myClass1); list.Add(myClass2); Print(list); for(int i=0;i<list.Count;i++) { MyClass temp=(MyClass)list[i]; temp.data=i+1; list[i]=temp;// 注意这句话 } Print(list); } public static void Print(ArrayList list) { for(int i=0;i<list.Count;i++) { MyClass temp=(MyClass)list[i]; Console.WriteLine(temp.data); } }