我试图在终端中编译并运行此C#程序:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


public class largestNumber
{
    public static void Main(string[] args);
    {
        int UserNumber1 = int.Parse(Console.ReadLine("Enter a number:"));
        int UserNumber2 = int.Parse(Console.ReadLine("Enter a second number:"));
        int UserNumber3 = int.Parse(Console.ReadLine("Enter a third number:"));

        Console.WriteLine("Your numbers were, " + UserNumber1 + ", " + UserNumber2 + ", and " + UserNumber3);
    }
}


但是,当我这样做时,会出现此错误:

Number.cs(11,2): error CS9010: Primary constructor body is not allowed


有人可以解释错误指的是什么吗?

最佳答案

您的应用存在多个问题:


方法实现的结尾不带;
Console.ReadLine不接受任何参数。它的唯一目的是阅读控制台,因此您应该使用Console.WriteLine询问诸如“输入数字”之类的问题。
您应该将类​​包装在名称空间中(通常以.csproj项目的名称命名)


并且请遵循C#约定,类名称为PascalCase,变量为camelCase。共享代码时,其他开发人员更容易阅读和理解它。

所以它应该看起来像这样:

using System;

namespace MyApp
{
    public class LargestNumber
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Enter a number:");
            int userNumber1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter a second number:");
            int userNumber2 = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter a third number:");
            int userNumber3 = int.Parse(Console.ReadLine());

            Console.WriteLine("Your numbers were, " + userNumber1 + ", " + userNumber2 + ", and " + userNumber3);
        }
    }
}


请注意,我删除了您一些无用的using语句。

您还应该将文件Number.cs重命名为LargestNumber.cs,通常希望文件与类具有相同的名称。



另外,即使复制粘贴代码,我也不会遇到与您相同的编译错误。

在VS2015下,我具有“非抽象和非外部方法必须声明主体”(由多余的分号引起)和“方法ReadLine具有0个参数,但被1个参数调用”。您收到的错误可能是由代码中其他地方的语法错误引起的。

关于c# - “不允许使用主要构造函数主体”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31757953/

10-12 00:42
查看更多