True
下面是我尝试解决自己在C#方面的困难时,尝试从Exercism.com解决练习“ Leap”的尝试。该网站建议您来这里寻求帮助。我已经弄清楚了Mathematica中的逻辑(如上),但是当我在终端中运行isALeapYear[x_Integer]:=
If[(Mod[x,4]==0 && !Mod[x,100]==0) || (Mod[x,4]==0 && Mod[x,400]==0),ToString[x] <>" is a leap year", ToString[x] <> " is NOT a leap year"]
时,我的C#小程序没有返回任何内容。任何建议表示赞赏。
dotnet run
答案 0 :(得分:1)
在Visual Studio中创建新的控制台项目时,将使用静态Main
方法自动添加名为Program.cs
的文件。这是您的应用程序的entry point
。方法的第一行是将首先执行的行。
它看起来像这样:
namespace SomeNamespace
{
class Program
{
static void Main(string[] args)
{
// By default this line will execute first
}
}
}
Microsoft Docs对其进行了更好的解释:
Main
方法是C#应用程序的入口点。 (图书馆和 服务不需要使用Main
方法作为入口点。) 应用程序启动后,Main
方法是第一个方法 调用。在C#程序中只能有一个入口点。如果你还有更多 而不是一个具有
Main
方法的类,则必须编译程序 / main编译器选项可指定要用作哪个Main方法 入口点。
我猜您没有更改Program.Main
,并且程序只是执行而什么也不做。
我建议将您的main
方法的内容移至Program.Main
。
static void Main(string[] args)
{
int yearq = 2015;
bool result = Leap.IsLeapYear(yearq);
Console.WriteLine(result);
}
但是,如果您确实需要使用Main
方法指定多个类,则必须使用-main
编译器选项来告诉编译器将哪个方法用作入口点。
您还可以选择删除Program.cs
并将main
重命名为Main
,但是除非您有特殊需要,否则我会选择默认行为。< / p>
答案 1 :(得分:0)
更新有关未来繁荣的问题,有趣的是,我通过添加以下内容解决了自己的问题:
<IsPackable>false</IsPackable>
<GenerateProgramFile>false</GenerateProgramFile>
...从this tutorial website到.csproj文件的PropertyGroup
。阅读该页面时,我不能说我完全理解为什么它可以解决我的问题。因此,如果有人可以更好地解释答案,就不会回答这个问题。 (它肯定与答案中其他地方提到的-main complier选项有关。)