日期:2014-05-18  浏览次数:20462 次

各位请帮忙,小弟不得理解ArrayList.Repeat为什么不能Repeat成功?在线等待中....
ArrayList   arr   =   new   ArrayList();
                arr.Add( "中国 ");
                arr.Add( "美国 ");
                arr.Add( "日本 ");
                arr.Add( "英国 ");

                foreach   (object   o   in   arr)
                {
                        Response.Write(o   +   " <br> ");
                }
                ArrayList   m   =   ArrayList.Repeat(arr,arr.Count);
                Response.Write( " <HR> ");
                foreach   (object   o   in   m)
                {
                        Response.Write(o   +   " <br> ");//我想叫这里依次输出上面四个国家的名字,但支意外的输出了四个System.Collections.ArrayList请问到底是为什么啊?
                }


------解决方案--------------------
ArrayList.Repeat(arr,arr.Count)返回的ArrayList中有4个元素,每个元素又是一个ArrayList(arr),也就是一个由ArrayList组成的ArrayList。
------解决方案--------------------
这样就能输出16个值了:
ArrayList arr = new ArrayList();
arr.Add( "中国 ");
arr.Add( "美国 ");
arr.Add( "日本 ");
arr.Add( "英国 ");

foreach (object o in arr)
{
Response.Write(o + " <br> ");
}
ArrayList m = ArrayList.Repeat(arr, arr.Count);
Response.Write( " <HR> ");
foreach (object o in m)
{
ArrayList temp = (ArrayList)o;
foreach (object o2 in temp)
{
Response.Write(o2 + " <br> ");
}
}
------解决方案--------------------
ArrayList m = ArrayList.Repeat(arr,arr.Count);
======
1。
我想问下 LZ ,你这里 repeat 的什么啊?
是 Repeat 了 arr.Count 个 arr (ArrayList) 对象

2。
自己应该看清除 ArrayList.Repeat 方法原型的说明