8

問題が何であるかはわかりませんが、コードでwhileステートメントを使用しようとすると、このエラーが発生し続けます。

クラス、構造体、またはインターフェイスのメンバー宣言にある無効なトークン'while'

whileループを使用して、ステートメントがtrueである間、何かを継続的に更新したいと思います。

私のコードの残りの部分はかなり長いですが、構文を入力するたびに:

while(a<b)
{
//do whatever i want it to do here
}

それは私にそのコンパイラエラーをすぐに与えます。問題が何であるかよくわかりません。これは、Form1.csファイルの下のC#Windowsアプリケーションで、他のすべてのイベントハンドラー(ボタンなど)を使用して実行しています。ありがとう!


ループをメソッド内に配置する必要があることに気づいていませんでしたが(c#はかなり新しい)、試してみてもエラーは返されませんでした。みなさん、ありがとうございました!

以前は、プログラムのメインクラス内にループがありました。

4

5 に答える 5

33

エラーに基づいて、コンパイラはこのコードがクラス/構造体/インターフェイス宣言の本体に直接入力されていると考えているようです。while / if / for / etc ...ステートメントは、メソッドに含まれている必要があります。

このコードをメソッドに移動して、問題を修正してみてください。メソッド内にある場合は、ブレースの不一致の問題が発生している可能性があります。

于 2008-12-29T02:40:31.317 に答える
3

しばらくの間は何も悪いことはありません、それは問題ですそれより上の何かです。コメントなどで中括弧とセミコロンが一致していないかどうかを確認します。

于 2008-12-29T02:39:55.437 に答える
2

C# では、コードをクラスに直接書き込むことはできません。クラスに直接書き込むことができるのは、データ メンバーと関数メンバーのみです。

于 2011-06-22T08:47:38.010 に答える
0

句読点の問題がある場合は、これを取得することもできます。今日、単純な括弧が欠落しているときに取得しました。

public static string GetPasswordForEnvironment)

になるはずだった:

public static string GetPasswordForEnvironment()

しかし、関数の後半にある最初の「if」ステートメントでエラーが発生しました。

于 2015-02-05T14:52:32.867 に答える