1

メソッドで操作しようとしているグローバル変数 averagel があります。コンパイラーは値の設定に問題はありませんが、averagel = averagel / (xrestriction * yrestriction);別の変数を設定するために使用しようとすると、何らかの理由でそれが気に入りません:

inside = (inside + averagel * (xrestriction * yrestriction)) - 2 * (averagel)(suml);

averagel の値を使用して別の int を設定しようとした行でのみ、エラー 'sqlDataReader.ReaderDemo.averagel' is a 'field' but is used like a 'type' が返されます。また、メソッドの int を averagel の値に設定してから、その値を使用して内部変数を設定しようとしましたが、「型または名前空間名 'test' が見つかりませんでした (見つかりませんでした)」というエラーが返されましたusing ディレクティブまたはアセンブリ参照?)" で、前の行で行ったのは、declare int test=averagel; だけでした。

ここで何が起こっているのでしょうか?

4

2 に答える 2

9

おそらくアスタリスクが必要です:

inside = (inside + averagel * (xrestriction * yrestriction)) - 2 * averagel * suml; 

数学のようにC#で2つの値を乗算することはできません。たとえば(averagel)(suml)、数学の方程式では意味がありますがaveragel * suml、C#で記述する必要があります。

于 2012-06-25T15:20:24.550 に答える
0

括弧が間違っていて、式に誤って型キャストが含まれています。最後のビット

(averagel) (suml)

sumlタイプにキャストしようaveragelとするため、コンパイラが文句を言う権利があります。これらの2つの用語の間に演算子がないのではないかと思います。

于 2012-06-25T15:20:52.023 に答える