C# 将结果输出到命令行时出现问题。
在Visual Studio中创建新控制台项目时,将使用静态方法自动添加名为C# 将结果输出到命令行时出现问题。,c#,wolfram-mathematica,C#,Wolfram Mathematica,在Visual Studio中创建新控制台项目时,将使用静态方法自动添加名为Program.cs的文件。这是您的应用程序的最新版本。方法中的第一行是将首先执行的行 看起来是这样的: using System; public static class Leap { public static bool IsLeapYear(int year) { if (year % 4 == 0 && year % 100 == 0) {
Program.cs
的文件。这是您的应用程序的最新版本。方法中的第一行是将首先执行的行
看起来是这样的:
using System;
public static class Leap
{
public static bool IsLeapYear(int year)
{
if (year % 4 == 0 && year % 100 == 0)
{
return true;
}
else
{
return false;
}
}
public static void main()
{
int yearq = 2015;
bool result = IsLeapYear(yearq);
Console.WriteLine(result);
}
}
更好地解释它:
Main
方法是C#应用程序的入口点。(图书馆和
服务不需要Main
方法作为入口点。)当
应用程序启动时,Main
方法是
调用
C#程序中只能有一个入口点。如果你有更多
如果有多个类具有Main
方法,则必须编译程序
使用/main编译器选项指定要用作
入口点
我猜您没有更改程序。Main,程序只是执行,什么也不做
我建议将main
方法的内容移动到Program.main
namespace SomeNamespace
{
class Program
{
static void Main(string[] args)
{
// By default this line will execute first
}
}
}
但是,如果确实需要使用Main
方法指定多个类,则必须使用编译器选项告诉编译器要使用哪个方法作为入口点
您还可以选择删除
Program.cs
并将main
重命名为main
,但除非您有特殊需要,否则我宁愿使用默认行为。为未来的繁荣更新问题,有趣的是,我通过添加以下内容解决了自己的问题:
static void Main(string[] args)
{
int yearq = 2015;
bool result = Leap.IsLeapYear(yearq);
Console.WriteLine(result);
}
false
假的
…到.csproj文件的
属性组
。阅读这一页,我不能说我完全理解为什么它解决了我的问题;因此,如果有人能更好地解释答案,就不要回答这个问题。(这肯定与答案中其他地方提到的-main编译器选项有关。)此代码应该可以工作。你粘贴的代码没有问题。你的计算是错误的,它不应该是mod 100。我也认为你的静态类应该被称为Program,但是我没有像那样运行命令行的经验。谢谢。这是一个很好的起点。请注意,如果要使用main方法作为入口点,则需要以大写字母M开头:
static void Main(string[] args)
{
int yearq = 2015;
bool result = Leap.IsLeapYear(yearq);
Console.WriteLine(result);
}
<IsPackable>false</IsPackable>
<GenerateProgramFile>false</GenerateProgramFile>