2

我正在尝试通过观看教程来学习 C#,当我尝试重命名我的课程时,它给了我这个

所以这个第一个错误基本上是当我创建一个新的控制台解决方案然后声明一个类并给它一个名字然后尝试写出到控制台它给了我两个错误。

![1ST:Error 1 Invalid token '(' in class, struct, or interface member declaration 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

4

4 回答 4

6

看起来你有System.Console.WriteLine一个方法体外部的调用。编译器认为您正在尝试引用一个不存在的类型,并且它还告诉您(在代码文件中的特定位置这是不合法的。

您可能有一个看起来像这样的类定义

class Program
{
     System.Console.WriteLine("hello world");
}

你需要的是一个看起来更像的类定义

class Program
{
     public static void Main(string[] args)
     {
          System.Console.WriteLine("hello world");
     }
}
于 2013-03-28T05:27:55.690 回答
2

安东尼佩格拉姆的回答是正确的。using System;在任何相关 c# 文件的顶部添加指令,允许编译器省略System. 前面的方法命名空间的一部分System.Console.WriteLine()

但是,如果控制台解决方案名为TestSolution并且控制台应用程序项目具有命名空间TestSolution.Console;系统System.Console.WriteLine()仍然需要在调用前声明。

这是由于编译器对以命名空间结尾的控制台部分存在歧义。一个名为TestSolution.TestConsole的控制台项目不会遇到命名空间冲突,除非正在编写的类的名称是Console

在为 .NET 应用程序构建和命名库时,注意命名空间的潜在命名冲突。

于 2015-03-09T11:17:34.283 回答
0

你有几个问题。

首先,您试图在文件的无效部分调用 Console.WriteLine()。您需要声明一个MethodorConstructor并将此调用放在其中。

构造函数示例:

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

于 2013-03-28T05:29:04.760 回答
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),但是对于开始,这应该可以......虽然不是理想的最终状态。

于 2013-03-28T05:29:07.947 回答