こんにちは私は、入力番号が素数であるかどうかを見つけるための基本的なプログラムを書いていました。私はcheckPrime(num)
関数を持って素数をチェックし、numが素数ならばtrue
を返します。そうでなければfalse
を返します。今私のmain()
関数では、私は条件演算子を使ってコードを短縮しましたが、私は確信していないエラーが出ています。以下は私のコードです:C#条件演算子エラーステートメントとして代入、呼び出し、インクリメント、デクリメント、待機、および新しいオブジェクト式のみ使用可能
static void Main(String[] args) {
int n = Int32.Parse(Console.ReadLine());
while (n-- > 0) {
int num = Int32.Parse(Console.ReadLine());
(checkPrime(num) == true) ? Console.WriteLine("Prime") : Console.WriteLine("Not Prime");
}
}
私はコンパイルするとき、私は条件文の行で私のwhileループでOnly assignment, call, increment, decrement, await, and new object expressions can be used as a statement
としてエラーが発生します。私は何が欠けているのか分かりません。同様の質問hereがあり、人々は条件付き演算子行が式ではなく式であると答えているので、式の値のソートや代入が必要です。例の同種の説明は、この
// ?: conditional operator.
classify = (input > 0) ? "positive" : "negative";
のような何かをするしかし、私は理解することができないのですが、私の機能であるMSDN referenceに与えられている私がしようとしているすべての関数の戻り値をチェックし、その後、出力を印刷します。だから、この表現の事は私の場合どこに来ますか?
[3進演算子を使用したメソッド呼び出し](http://stackoverflow.com/questions/5490095/method-callusing-ternary-operator) – Peter