非常简单的代码中的类、结构或接口成员声明中的标记“while”无效
Posted
技术标签:
【中文标题】非常简单的代码中的类、结构或接口成员声明中的标记“while”无效【英文标题】:Invalid token 'while' in class, struct, or interface member declaration in very simple code 【发布时间】:2010-09-28 15:53:25 【问题描述】:我不确定问题出在哪里,但是当我尝试在代码中使用 while 语句时,我不断收到此错误。
类中的无效标记“while”, 结构或接口成员 声明
我想使用 while 循环在语句为真时不断更新某些内容。
我的其余代码相当长,但每当我输入语法时:
while(a<b)
//do whatever i want it to do here
它立即给了我编译器错误。不太确定是什么问题。我在 Form1.cs 文件下的 C# windows 应用程序中执行此操作,并带有所有其他事件处理程序(用于按钮等)。 谢谢!
我不知道必须将循环放在一个方法中(对于 c# 来说是相当新的),但我尝试了它并没有返回任何错误。谢谢大家的帮助!
以前,我只是在程序的主类中有循环。
【问题讨论】:
【参考方案1】:while 没有什么问题,问题出在它上面。 检查评论或类似内容中是否存在不匹配的大括号和分号。
【讨论】:
【参考方案2】:根据错误,编译器似乎认为这段代码是直接在类/结构/接口声明的主体中键入的。语句 while/if/for/etc ... 必须出现在方法中。
尝试将此代码移动到解决问题的方法中。如果它在一个方法中,你可能有一个不匹配的大括号问题。
【讨论】:
【参考方案3】:C# 不允许直接在类中编写代码;只允许将数据成员和函数成员直接写入类中。
【讨论】:
【参考方案4】:如果你有标点符号问题,你也可以得到这个,我今天发现了一个简单的括号:
public static string GetPasswordForEnvironment)
应该是:
public static string GetPasswordForEnvironment()
但错误出现在函数后面的第一个“if”语句中。
【讨论】:
【参考方案5】:C# 不提供直接在类中编写 for、while 或 foreach 类型的循环语句。这些语句应该在用户定义的方法、主方法或构造函数中。
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);
【讨论】:
以上是关于非常简单的代码中的类、结构或接口成员声明中的标记“while”无效的主要内容,如果未能解决你的问题,请参考以下文章