如何在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();
}
}
答案 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'))
让你的工作正如你所希望的那样。