首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态类的静态方法与非静态类的静态方法( C# )

问静态类的静态方法与非静态类的静态方法( C# )
EN

Stack Overflow用户
提问于 2010-02-16 00:33:35
回答 6查看 18.7K关注 0票数 54

我在一次面试中被问到了上面的问题。您能解释一下它们的区别吗?(性能-内存-使用情况-何时使用哪个?)

谢谢,

尔坎

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-02-16 00:43:19

声明静态类记录了您希望该类成为静态功能集合的意图,并且任何添加实例成员的人都将收到编译错误。

具有静态成员的非静态类通常表示该类被设计为在某个时刻实例化。这些类的静态方法通常做以下两件事之一:

  1. 提供了用于创建该类型实例的工厂方法;
  2. 提供了不需要该类型实例的帮助器功能;

另外,如前所述,扩展方法只能在静态类上声明。

票数 63
EN

Stack Overflow用户

发布于 2010-02-16 00:34:23

我想是有人问你有什么不同吧?

静态类上的静态方法可用于定义扩展方法。非静态类上的静态方法不能。

票数 23
EN

Stack Overflow用户

发布于 2010-02-16 00:37:05

在性能和内存使用方面;完全没有。有一个静态类意味着你知道没有实例,但在1.1版本中,有一个私有构造函数就足够了。如果拥有一个实例是没有意义的,那就使用静态类!(实用程序类等)

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2267371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档