我正在尝试在终端中编译并运行这个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
有人可以解释错误所指的内容吗?
答案 0 :(得分:2)
您的应用存在多个问题:
方法实现最后不需要;
。
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个参数调用"。您获得的错误可能是由代码中其他位置的语法错误引起的。