1

int 型の長さ 300 の配列があります。ほとんどの要素は 0 で、0 より大きい最初の要素のインデックスを取得したいのですが、どうすればこれを達成できますか。

ありがとうございました

4

6 に答える 6

3

Array.FindIndexを使用して、0 より大きい配列の最初の要素のインデックスを取得できます。

var array = new int[5];
array[0] = 0;
array[1] = 0;
array[2] = 1;
array[3] = 1;
array[4] = 0;

int index = Array.FindIndex(array, x=>x > 0);

または、Array のArray.IndexOfメソッドを使用することもできます。

int index = Array.IndexOf(array, array.First(x=>x > 0));
于 2013-04-24T05:23:43.957 に答える
0
int count=0;
for(int i=0;i<numbers.Length;i++)
{

  if(numbers[i]>0)
  {
    break;
  }
  count++;
}

最後に変数 count の値を取得します。これが index になります。

于 2013-04-24T05:17:27.817 に答える
0
int result;

foreach (int i in array)
    if (i > 0)
    {
        result = i;
        break;
    }

欲しいのは最初だけなので、見つけたらすぐに壊すことができます。

于 2013-04-24T05:17:48.053 に答える