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

求救!怎么两次都输出1啊,没有道理啊!
怎么两次都输出1啊,没有道理啊,如下:
ArrayList   arr   =   new   ArrayList();
                arr.Add( "中国 ");
                arr.Add( "美国 ");
                arr.Add( "日本 ");
                arr.Add( "英国 ");

                Response.Write(arr.IndexOf( "美国 "));//输出1
                Response.Write( " <hr> ");
                Response.Write(arr.LastIndexOf( "美国 "));   //输出1

------解决方案--------------------
顺数,倒数美国都是排在第2位啊,当然输出1了。
如果是
arr.Add( "中国 ");
arr.Add( "美国 ");
arr.Add( "日本 ");
arr.Add( "英国 ");
arr.Add( "美国 ");
Response.Write(arr.LastIndexOf( "美国 "));就会输出4了。
------解决方案--------------------
你的arr 里只有一个“美国”,两次输出不一致那才是没道理

这样才会不一样

ArrayList arr = new ArrayList();
arr.Add( "中国 ");
arr.Add( "美国 ");
arr.Add( "日本 ");
arr.Add( "美国 ");

Response.Write(arr.IndexOf( "美国 "));//输出1
Response.Write( " <hr> ");
Response.Write(arr.LastIndexOf( "美国 ")); //输出3

------解决方案--------------------
为什么不该是1?你数组里不就一个美国吗?indexOf和lastIndexOf都应该是1没错啊