我是C#编程的新手,我还在学习。我想知道在创建方法时是否有任何特殊原因不使用static修饰符,对我来说它看起来更简单。我试着查看MSDN,但如果我不知道这些词的一半是什么意思,那就没什么用了。
例如:
using System;
namespace StaticModifier
{
class Program
{
static void Main(string[] args)
{
SayHi();
}
static void SayHi()
{
Console.WriteLine("Hi");
}
}
}
似乎比这简单得多:
using System;
namespace StaticModifier
{
class Program
{
static void Main(string[] args)
{
Program p = new Program();
p.SayHi();
}
void SayHi()
{
Console.WriteLine("Hi");
}
}
}
那么有人愿意解释吗?请记住,我很新,所以请保持简单:)
答案 0 :(得分:0)
如果您的类需要多于1个自身的实例,则不会使用static修饰符。例如,如果您有一个名为car的类,其中包含static关键字,那么您只能通过该类的静态引用访问该类的成员。所以你永远不会有2个汽车对象的实例。
这取决于您的程序尝试做什么可能是合适的。但是,如果您有类名玩家分数,则可能会使用static关键字。因为这只会存在一次,除非你拥有更多的那个玩家,否则你需要1个玩家得分实例。这意味着您可以考虑singleton实例,也可以只使用静态类。
有很多原因可能会导致或不会使用静态修饰符。但是对某些人来说,使用它是不可能的,取决于你正在创建的应用程序的具体情况。