提问人:Eric 提问时间:12/29/2008 最后编辑:Tim PostEric 更新时间:3/13/2019 访问量:42672
在非常简单的代码中,类、结构或接口成员声明中的标记“while”无效
Invalid token 'while' in class, struct, or interface member declaration in very simple code
问:
我不确定问题是什么,但是当我尝试在代码中使用while语句时,我不断收到此错误。
类中的标记“while”无效, struct 或接口成员 声明
我想使用 while 循环让某些东西在语句为 true 时不断更新。
我的代码的其余部分很长,但每当我输入语法时:
while(a<b)
{
//do whatever i want it to do here
}
它立即给了我编译器错误。不太确定问题出在哪里。我正在 Form1.cs 文件下的 C# 窗口应用程序中执行此操作,其中包含所有其他事件处理程序(用于按钮等)。 谢谢!
我不知道必须将循环放在方法中(对 c# 来说相当新),但我尝试了一下,没有返回任何错误。谢谢大家的帮助!
以前,我只是在程序的主类中有一个循环。
答:
4赞
stu
12/29/2008
#1
这时没有错,问题出在它上面。 检查注释中的大括号和分号是否不匹配或类似内容。
38赞
JaredPar
12/29/2008
#2
根据这个错误,听起来编译器认为这段代码是直接在类/结构/接口声明的正文中键入的。语句 while/if/for/etc ...必须出现在方法中。
尝试将此代码移动到解决问题的方法中。如果是在方法中,则可能存在大括号不匹配的问题。
2赞
Ali khan
6/22/2011
#3
不允许 C# 将代码直接写入类中;只允许将数据成员和函数成员直接写入类中。
0赞
NealWalters
2/5/2015
#4
如果你有标点符号问题,你也可以得到这个,我今天在缺少一个简单的括号时得到了它:
public static string GetPasswordForEnvironment)
应该是:
public static string GetPasswordForEnvironment()
但是该错误出现在函数后面的第一个“if”语句中。
0赞
santhu Style
3/13/2019
#5
C# 不提供直接在类中编写 for、while 或 foreach 类型的循环语句。这些语句应位于用户定义的方法、main 方法或构造函数中。
class Array
{
public static void main(string[] args)
{
int[] n = new int[10]; /* n is an array of 10 integers */
/* initialize elements of array n */
for (int i = 0; i < 10; i++)
{
n[i] = i + 100;
}
/* output each array element's value */
foreach (int j in n)
{
int i = j - 100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
}
}
评论