2016-05-03 8 views
0

すべての素数を特定の数まで表示するためにループを作成する必要があります。数字はユーザー自身によって入力されます。だから私はメッセージを表示するためにwhileループを作成したい。配列とintの間に演算子「<」は使用できません。 配列とintの間の演算子を使用

int[] Prime = {2, 3, 5, 7, 11}; 

    private void btnCalculate_Click(object sender, EventArgs e) 
    { 
     int OutputPrime = 0; 
     while (Prime < biggestPrime) 
     { 

     } 
    } 

この

は私にしばらくラインで次のエラーを与える: 演算子「<」「[]をint」と 'int型

すべてのヘルプは非常に高く評価されるタイプのオペランドに適用することはできません。 ありがとうございます!

+0

二つの単語、_operator overloading_ –

+3

@NullExceptionあなたは 'int'を比較し、' '[] int型聞かせ演算子をオーバーロードすることはできません、また、あなたがこれを達成するためににも、あなたができれば望みます。 – Servy

+0

あなたは 'Prime [0] Ian

答えて

1

Primeは、インデックス番号を使用してその値にアクセスする必要があるため、整数ではない配列であるPrimeに直接アクセスしようとしている整数型です。biggestPrime例外をスローしますこのようにする

int[] Prime = {2, 3, 5, 7, 11}; 

private void btnCalculate_Click(object sender, EventArgs e) 
    { 

     int OutputPrime = 0; 
     for (int i = 0; i < Prime.Length; i++) 
     { 
      if (Prime[i] < biggestPrime) 
      { 
       // do your stuff 
      } 
     } 
    } 
+0

は 'Prime [i]'でなければなりません –

+0

これは、すでに高価な操作の繰り返しごとに膨大な量の不必要な作業をしているので、*本当に悪い考えです。 – Servy

+0

イベントハンドラで配列を再度初期化するのはなぜですか? –

1

Linqはあなたの友人です。

foreach (var prime in primes.TakeWhile(i => i <= biggestPrime)) 
{ 
} 
関連する問題