什么是“主构造函数主体不允许”?的意思

本文关键字:意思 不允许 主体 构造函数 什么 | 更新日期: 2023-09-27 18:06:02

我正在尝试在终端中编译和运行这个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个参数调用"。您得到的错误可能是由代码中其他地方的语法错误引起的。