我正在尝试通过观看教程来学习C#,当我尝试重命名我的课程时,它给了我这个
所以这第一个错误基本上是当我创建一个新的控制台解决方案,然后声明一个类并给它一个名字,然后尝试写出它给我两个错误。
![1ST:错误1无效的令牌'('在类,结构或接口成员中 声明C:\ Users \ Alan \ AppData \ Local \ Temporary Projects \ ConsoleApplication1 \ Program.cs 10 23 ConsoleApplication1
2ND:错误2类型中不存在类型名称“Writeline” 'System.Console'C:\ Users \ Alan \ AppData \ Local \ Temporary Projects \ ConsoleApplication1 \ Program.cs 10 13 ConsoleApplication1
我点击了一个全部保存并将其保存到我桌面上的一个文件夹中,我打算放入所有C#文件,但是我得到了这些错误,当我开始一个新文件时,清理它并编写控制台命令并构建它不是给我任何错误。
是否需要构造函数或我需要按特定顺序保存文件或什么? ] 1
答案 0 :(得分:5)
看起来你在方法体外调用了System.Console.WriteLine
。编译器认为您正在尝试引用一个不存在的类型,并且它还告诉您(
在代码文件中的特定点上不合法。
您可能有一个类似于
的类定义class Program
{
System.Console.WriteLine("hello world");
}
您需要的是一个看起来更像
的类定义class Program
{
public static void Main(string[] args)
{
System.Console.WriteLine("hello world");
}
}
答案 1 :(得分:2)
Anthony Pegram的回答是正确的。在任何相对c#文件的顶部添加指令using System;
,允许编译器省略在System.Console.WriteLine()
前面具有方法命名空间的 System。部分的需要。
但是,如果控制台解决方案名为 TestSolution ,控制台应用程序项目的名称空间为 TestSolution.Console ;仍然需要System.Console.WriteLine()
次来电前面的系统。声明。
这是由于编译器对于命名空间中结尾的控制台部分的模糊性。名为 TestSolution.TestConsole 的控制台项目不会遇到命名空间冲突,除非正在编写的类的名称是控制台。
在为.NET应用程序构建和命名库时,请注意名称空间的潜在命名冲突。
答案 2 :(得分:0)
你有几个问题。
首先,您尝试在文件的无效部分中调用Console.WriteLine()。您需要声明Method
或Constructor
并将此调用置于其中。
构造函数示例:
public class Person
{
public Person()
{
Console.WriteLine("Hello");
}
}
方法示例:
public class Person
{
public void SayHello()
{
Console.WriteLine("Hello");
}
}
您的其他问题是您的“WriteLine”大写不正确。
代码应为:
Console.WriteLine("Test");
http://msdn.microsoft.com/en-us/library/system.console.writeline.aspx
答案 3 :(得分:0)
似乎你已经吹走了Main()
方法。此外,你不应该(不能,我猜)只是在一个类中浮动一个方法调用 - 它必须在方法或构造函数中。
尝试使用以下内容替换namespace ConsoleApplication1
中的内容:开始使用
class Program
{
static void Main(string[] args)
{
Person alan = new Person();
alan.PersonName = "Alan";
Console.WriteLine("Hi " + alan.PersonName);
Console.ReadLine();
}
}
class Person
{
public string PersonName { get; set; }
}
PS。你可能应该将Person放在一个单独的文件中(例如Person.cs),但是为了开始,这应该......但不是理想的最终状态。