int[] intTest = new int [] {1,3,4,5};
string [] strTest = new string[] {"str1","str2","str3","str4"};arraylist arr = new arraylist();
arr.add(intTest);
arr.add(strTest);此时arr.count应该是2没错吧?可是为什么不应该是8?两个数组元素想加起来的个数?arr.toarray()这个方法用的时候。当不知道arr里面的数组是什么类型的时候,如何把它转换成array?arr[0]---->当这个又不清楚为何类型的数组时。又如何把它赋值给数组呢?
string [] strTest = new string[] {"str1","str2","str3","str4"};arraylist arr = new arraylist();
arr.add(intTest);
arr.add(strTest);此时arr.count应该是2没错吧?可是为什么不应该是8?两个数组元素想加起来的个数?arr.toarray()这个方法用的时候。当不知道arr里面的数组是什么类型的时候,如何把它转换成array?arr[0]---->当这个又不清楚为何类型的数组时。又如何把它赋值给数组呢?
囧!arr.ToArray()转成System.Object数组有问题吗?
如果你知道数据类型当然可以调用arr.ToArray(Type type);
拿forche 循环下
关键字打错了
你循环下 跟踪循环 就能看出来..
就算全部转换成obejct[]之后。那总得再转换成原有数组的类型。
这点咋整?
string [] strTest = new string[] {"str1","str2","str3","str4"};arraylist arr = new arraylist();
arr.add(intTest);
arr.add(strTest);
arr.count是2 arraylist arr = new arraylist();
arr.addrange(intTest);
arr.addrange(strTest);
arr.count 就是8
而是我调试的时候arraylist里面只有一个数组,数组的长度为8.我调用arraylist.count的时候它显示的就是8,所以我就纳闷了
转换原有的数据类型你自己转呗,你还想自动转啊自动转你就自己写个方法把
Type t = arr[0].GetType();
if (t.Equals(typeof(int[])))
{
Console.Write("");
}