类文件中的入口点 - 超过1个入口点

时间:2015-04-25 00:06:45

标签: c#

我想要做的是创建一个项目,因为我学习了C#并且在该项目中为每个Euler问题创建了一个新类。

所以我有一个基本的Program.cs文件,它有一个入口点。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Euler
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

但是我正确地在我自己的班级中定义了我的入口点并且有一个错误清楚地显示我有多个入口点。

我应该如何正确设置输入?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Euler
{
    //Problem 1
    //If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
    //Find the sum of all the multiples of 3 or 5 below 1000.

    class Problem1
    {
        public Problem1(int args)
        {
            int num = 0;
            int limit = 1000;
            int sum = 0;
            while (num < limit)
            {
                if ((num % 3 ==0 )|| (num % 5 == 0))
                {
                    sum = sum + num;
                    num++;
                }
                else
                {
                    num++;
                }
            }
            Console.WriteLine(sum);
        }
    }


}

我知道这是一个新手,但它似乎并不明显。

Error   1   Program 'c:\Users\Sayth\Documents\Visual Studio 2013\Projects\Euler\Euler\obj\Debug\Euler.exe' has more than one entry point defined: 'Euler.Program.Main(string[])'.  Compile with /main to specify the type that contains the entry point.    c:\users\sayth\documents\visual studio 2013\Projects\Euler\Euler\Program.cs 11  21  Euler
Error   2   Program 'c:\Users\Sayth\Documents\Visual Studio 2013\Projects\Euler\Euler\obj\Debug\Euler.exe' has more than one entry point defined: 'Euler.Problem1.Main(string[])'.  Compile with /main to specify the type that contains the entry point.   c:\users\sayth\documents\visual studio 2013\Projects\Euler\Euler\Problem1.cs    15  21  Euler

编辑我已解决了入口点错误,下面的代码不起作用,但出于与此问题无关的其他原因。

class Problem1
    {
        public int Sum53(int args)
        {
            int num = 0;
            int limit = 1000;
            int sum = 0;
            while (num < limit)
            {
                if ((num % 3 == 0) || (num % 5 == 0))
                {
                    sum = sum + num;
                    num++;
                }
                else
                {
                    num++;
                }
            }
            return sum;
        }

        public string myValue(string args)
        {
            Console.WriteLine("This is the total :" + );
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您只能在程序中有一个入口点(除非您告诉编译器否则使用哪个入口点)。但是这个切入点可以随叫随到。因此,如果您想要有多个不同的入门函数进行试验,您可以简单地取消注释要运行的函数。

static void Main(string[] args) //You can't have any other functions with this signature in your project
{
    Function1(args);
    //Function3(args);
    //Function2(args);
}

static void Function1(string[] args)
{
}

static void Function2(string[] args)
{
}

static void Function3(string[] args)
{
}