什么是“主构造函数主体不允许”?的意思
本文关键字:意思 不允许 主体 构造函数 什么 | 更新日期: 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个参数调用"。您得到的错误可能是由代码中其他地方的语法错误引起的。