永发信息网

c# Console App 新手问题

答案:2  悬赏:50  手机版
解决时间 2021-02-07 02:23
  • 提问者网友:沦陷
  • 2021-02-06 17:28
Console App, 为什么我新建的方法ProcessNumber必须得加static修饰? Main 不属于Program类吗, 在类方法里调用其他方法是不需要static的呀.

我觉得必须得Program.ProcessNumber(num, out doubled, out tripled);这样才能调用方法吧, 为什么没有Program, 直接ProcessNumber(num, out doubled, out tripled);也行?

class Program
{
static void Main(string[] args)
{
int num = 2;
int doubled = 2, tripled;

ProcessNumber(num, out doubled, out tripled);

Console.WriteLine("double = {0}, tripled = {1}", doubled, tripled);

Console.Read();
}

private static void ProcessNumber(int num, out int doubled, out int tripled)
{
doubled = 2 * num;
tripled = 3 * num;
}
}

我觉得必须得Program.ProcessNumber(num, out doubled, out tripled);这样才能调用方法吧, 为什么没有Program, 直接ProcessNumber(num, out doubled, out tripled);也行?
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-02-06 18:08
首先,新建的方法不用非得加static,加这个呢,是不用new 类,可以方便调用,如果不加的话,你要用类中的方法的话,得new 类。
第二,为啥可以直接用这个名字就调用,而不用非得加上你的Program,因为你把方法写在你的类中了,所以类可以访问自己类中的方法。因为你声明为static所以可以不用new直接访问,但是如果你把你方法中的static去掉,那么你想用这个方法的话,那么就得用new这个program了。
全部回答
  • 1楼网友:持酒劝斜阳
  • 2021-02-06 18:50
你好! 如果ProcessNumber这个方法不加Static,则ProcessNumber就是Program类的成员方法。一个类中的成员方法只有在该类被实例化之后才能通过实例调用。然而加static的作用就是让该方法不需要在实例中调用。但是static方法调用其他非static方法时也需要实例化,这也就是为什么ProcessNumber必须加上static的原因。 我的回答你还满意吗~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯