int[] arry=new int [10]{12,23,4,5,12,87,98,90,34,12};
  int d = Array.IndexOf(arry ,12,2,9);
  Console.WriteLine(d);

解决方案 »

  1.   

    IndexOf(arry ,12,2,9); 2+9=11 超过 int [10]的10了
      

  2.   

    int d = Array.IndexOf(arry ,12,2,9); 
    意思是索引2开始(就是0开始计数)的后9个你要第二个数字到第九个数
    int d = Array.IndexOf(arry ,12,开始-1,结束-开始+1); 

    int d = Array.IndexOf(arry ,12,2-1,9-2+1); 
      

  3.   

    因为下标是从0开始,那么第2到第9的表示就是下标1开始,共计8个数。
    代码中就应该是这样:int d = Array.IndexOf(arry ,12,1,8);不过,从第2开始,到数组结束,有9个数组元素,长度可以为9了。
      

  4.   

    Array.IndexOf(arry ,object , startIndex , Count)startIndex 开始索引,Count指的是从startIndex开始多少个
      

  5.   

    Array.IndexOf(Array,Object,StartIndex,count);
    参数:
    Array,要搜索的数组
    Object,要搜索的元素
    StartIndex,从指定索引处开始搜索
    count,从指定索引开始,搜索范围是“包括指定索引值StartIndex在内的count个数组元素”
    所以你程序中IndexOf方法最大值是8