首页 新闻 会员 周边 捐助

C#静态函数与非静态函数的优缺点?

0
[已解决问题] 解决于 2013-08-10 12:43

C#静态函数与非静态函数的优缺点?

就不给豆了,欢迎讨论…

0.617的主页 0.617 | 菜鸟二级 | 园豆:410
提问于:2013-08-08 21:21
< >
分享
最佳答案
1

我觉得这个比较本身就有问题,两者分别用于不同的场景。

能用静态方法的地方,用非静态方法就是浪费资源。

应该用非静态方法的地方,静态方法根本用不了。

奖励园豆:5
dudu | 高人七级 |园豆:29333 | 2013-08-08 21:49

两种方法分别更适合不同的场景,因为他们在适应自己场景的地方能突显自己的优点。

dudu园长 您说能用静态方法的地方,用非静态方法就是浪费资源 怎么理解?什么是能用静态方法的地方?

0.617 | 园豆:410 (菜鸟二级) | 2013-08-09 08:42

@张小千: 推荐一篇博文:静态方法与非静态方法区别

dudu | 园豆:29333 (高人七级) | 2013-08-09 08:55

@dudu:”静态成员属于类所有,为各个类的实例所公用,无论类创建了多少实例,类的静态成员在内存中只占同一块区域“,那么静态方法会不会出现并发现象呢?万一出现了系统怎么处理?

0.617 | 园豆:410 (菜鸟二级) | 2013-08-09 10:43

@张小千: 不用担心这个问题,静态方法是线程安全的

dudu | 园豆:29333 (高人七级) | 2013-08-09 10:45
其他回答(2)
0

你应该问什么场景使用静态函数与什么场景使用非静态函数

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-08-09 13:51
0

我觉得静态函数就是个蛋疼的设计:

首先, 有些方法不用挂在Object上。

其次, 不挂, 会让人说:你看你, 你都不面向对象。

 

于是就有了static这么蛋疼的玩意出来。

undefined | 园豆:898 (小虾三级) | 2013-08-09 17:16

你的意思是说静态函数就是个没有用的东西了,在一个程序中不用他了

支持(0) 反对(0) 0.617 | 园豆:410 (菜鸟二级) | 2013-08-09 20:33

@张小千: 不是没有用。 而是本来可以更简单的, 就为了一个“面向对象”的虚名而给弄的更复杂了。

支持(0) 反对(0) undefined | 园豆:898 (小虾三级) | 2013-08-12 11:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册