C# VisualStudio2010说“;应为类、委托、枚举、接口或结构”;
当试图写一些东西来检查一个数字是奇数还是偶数(C#)时,Visual Studio 2010会显示我上面提到的错误消息…C# VisualStudio2010说“;应为类、委托、枚举、接口或结构”;,c#,visual-studio-2010,C#,Visual Studio 2010,当试图写一些东西来检查一个数字是奇数还是偶数(C#)时,Visual Studio 2010会显示我上面提到的错误消息… 这是密码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
这是密码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void chk_Click(object sender, EventArgs e)
{
int x = Convert.ToInt32(num.Text);
if (x%2 == 0)
{
chkd.Text = "Even";
}
else
{
chkd.Text = "Odd";
}
}
}
private void num_TextChanged(object sender, EventArgs e)
{
}
}
再添加一个}
表单类的哪个关闭/结束命名空间是类之外的方法。根据错误消息,命名空间范围内只能显示类、委托、枚举、接口或结构 我想您的意思是将其放在
Form1
类中,因此您应该将其移动:
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void chk_Click(object sender, EventArgs e)
{
int x = Convert.ToInt32(num.Text);
if (x%2 == 0)
{
chkd.Text = "Even";
}
else
{
chkd.Text = "Odd";
}
}
private void num_TextChanged(object sender, EventArgs e)
{
}
}
}
发布实际代码而不是屏幕截图将是最有帮助的。据我统计,第29行甚至不在屏幕截图中。看起来您在
表单1.cs
末尾缺少了一个右括号(}
)。检查文件的最后一个}
,查看它是否有红色的波形,然后尝试添加另一个。检查编译错误的另一个好方法是双击错误,它会将您带到有问题的代码行。正如@GlorinOakenfoot所提到的,最好首先发布实际代码,而不是屏幕截图双击错误以显示它在哪一行,我认为它不在屏幕截图上-它可能在更远的地方。帮个忙,转到工具-->选项-->文本编辑器-->所有语言-->并单击“行号”复选框。然后,当一个错误指向一个特定的行号时,您可以准确地看到它在哪里。另一方面,为什么默认情况下不启用此选项?@Charles Mager,谢谢,但如何启用?您可能是对的,但在做出假设之前能够查看实际代码不是更好吗?为Visual Studio添加一个}线索,以说明错误2类型或命名空间定义,或预期的文件结尾。。。。但双击错误会突出显示“private void num_TextChanged(object sender,EventArgs e)”的“void”,它位于chk_click code的下方。。。。顺便说一句,如何发布代码?发布代码-突出显示文件的代码。复制代码(右键单击>复制)。在OP中粘贴代码(右键单击>粘贴)。保存你的答案。你是说我应该删除它?我这样做了,但后来我发现“错误1'WindowsFormsApplication2.Form1'不包含'num_TextChanged'的定义,并且找不到接受'WindowsFormsApplication2.Form1'类型的第一个参数的扩展方法'num_TextChanged'(是否缺少using指令或程序集引用?)”不,移动它,正如您的新错误所暗示的,有一些东西期望事件处理程序在表单1
中存在。您所说的移动是什么意思?我不确定如何用另一种方式解释移动。我的意思是把它从原来的地方拿出来放到别的地方(在本例中,放在Form1
内)。你的代码在问题中,我的(固定)代码在答案中。你看不出我改变了什么吗?解释的哪一部分不清楚?该方法应该属于该类,并且您不知何故将其移出了该范围。就这么简单。