如何调用文件后面出现的C#中的函数?

时间:2015-11-27 16:46:49

标签: c#

如何在static main()中调用C#中的函数?

class Conditional
{
    static void if_else();
    static void Main(string[] args)
    {
        int select;
        Console.WriteLine("Press 1 for if_else");
        Console.WriteLine("Press 2 for Switch");
        select = Console.Read();
        if (select == 1)
        {
           if_else(); // I have an error here
        }
    }

    static void if_else()
    {
        bool test = true;
        if (test)
            Console.WriteLine("if condition executed");
        else
            Console.WriteLine("Else condition executed");
        Console.ReadLine();
    }
}

5 个答案:

答案 0 :(得分:2)

这是定义功能的正确方法。但是,我认为您的问题是您定义了两次相同的功能。

尝试删除第三行,看看是否能解决您的问题。

答案 1 :(得分:2)

static void if_else();

C#不需要上述行,请将其删除并重试。

答案 2 :(得分:1)

该行

static void if_else();

是多余的。

代码

static void if_else()
{
    bool test = true;
    if (test)
        Console.WriteLine("if condition executed");
    else
        Console.WriteLine("Else condition executed");
    Console.ReadLine();
}

定义函数,这就足够了。与许多其他语言(C,C ++等)不同,在C#中,您不需要在代码的开头声明函数。

顺便说一下,您应该加入声明和select的分配:

Console.WriteLine("Press 1 for if_else");
Console.WriteLine("Press 2 for Switch");
int select = Console.Read();

与C不同,在C#中,您不必在范围的开头声明变量,这样代码就更具可读性。

答案 3 :(得分:0)

在C#中你不需要,也不应该像在C或C ++中那样声明方法。

请删除以下行。

static void if_else();

我不确切地知道你得到了什么错误,但这可能是两种方法定义之间存在歧义。

答案 4 :(得分:0)

两件事:

首先,从代码中删除此行。

static void if_else();

您不必在C#中声明函数原型。

其次,Console.Read会返回输入的字符代码。在提示符下键入1将不会导致if_else被调用。您必须将您的行更改为:

if (select==((int)'1'))

让你的工作正如你所希望的那样。