Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将结果输出到命令行时出现问题。_C#_Wolfram Mathematica - Fatal编程技术网

C# 将结果输出到命令行时出现问题。

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) {

在Visual Studio中创建新控制台项目时,将使用静态方法自动添加名为
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>