我试图在终端中编译并运行此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/