我对c#非常陌生,对于静态方法比常规方法的使用有点困惑。据我所知,它们提供的唯一好处是它们不需要对象就可以调用。但如果是这样的话,不把这个方法赋值给一个类,而是在主程序页面中定义它,不是更方便吗?静态方法有什么真正的好处吗?
编辑:我的意思是"不把这个方法分配给一个类不是更方便吗?"不需要创建一个单独的类来放置这个新方法。把这个方法放在主程序的类中不是更方便吗?
如果您在"主程序页"中定义它;在整个应用程序中使用它就不那么容易了,它只能从那一个文件中获得。
假设您有一个静态类MyStaticClass,那么您可以在整个应用程序中使用这些函数,不仅在主程序文件中,而且在任何文件中,等等。
MyStaticClass.MyStaticMethod();
在一个标准的类中,你必须做一些类似
的事情new MyClass().MyMethod();
换句话说就是"static"就是你不需要"new";对象的实例。
除了JBoothUA的答案之外,我可以说如果您正在编写一些不低于域类的常见方法。每个类可以使用的方法(像一些对话逻辑…)应该是静态的。
当你用新的类名调用方法时。方法名,每次创建新的类实例。占用磁盘内存。
调用静态方法时不需要更多的空间