例如一个求最小值的方法    
    private double MinValue(double[] doubleArray)
        {
            double minVal = doubleArray[0];
            for (int i = 1; i < doubleArray.Length; i++)
            {
                if (doubleArray[i] < minVal)
                    minVal = doubleArray[i];
            }
            return minVal;        }
double []myvalue={5,9,2,8,7,3};
请问如何返回最小值 2 所在的位置,即它的下标 

解决方案 »

  1.   

    int[] p = new int[100]; //存放所有的最大值
      int position = 0;//存放最大值的位置
      int j = 1;//存放相同最大值的位置  for (int i = 1; i < 100; i++)
      {
      if (intArray [i] > intArray [position])
      {
      position = i;
      j = 1;
      }
      else if (intArray [i] == intArray [position])
      {
      p[j++] = i;
      }
      }
      p[0] = position;
      if (j < 100)
      {
      p[j] = -1;
      }
      Console.WriteLine("最大值为" + intArray [position]);
      Console.WriteLine("最大值的位置为:");
      for (int i = 0; i < 100; i++)
      {
      if (p[i] == -1)
      break;
      Console.WriteLine(p[i]+1);
      }
      Console.ReadLine();
      

  2.   

    var value = from v in array [i] select v;
    int s = Array.FindIndex(value.ToArray(), v => v.Equals(value.Max()));
    http://topic.csdn.net/u/20090528/20/b37348e6-d2be-429d-a02f-e2bdac23c173.html
      

  3.   

     double[] myvalue = { 5, 9, 2, 8, 7, 3 };
     double d= myvalue.Min();
     int iMinIndex = Array.IndexOf(myvalue, d);