社区
C#
帖子详情
C# 静态函数和非静态函数哪个效率高
sytu_hzj
2009-06-16 02:02:50
如题
...全文
1426
58
打赏
收藏
C# 静态函数和非静态函数哪个效率高
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
58 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shadow_left
2011-09-07
打赏
举报
回复
路过,不错
bestcxl
2011-07-21
打赏
举报
回复
[Quote=引用 52 楼 ahbian 的回复:]
简言之,从 OO 讲,静态方法是无状态的,实例方法是有状态的。
静态方法当然要略快一点点点点点点...
所以,如果方法无状态,建议以静态方式实现。
若不是这样,也没必要有一个“静态”概念了。
[/Quote]
能解释下状态吗?
gistop
2011-01-02
打赏
举报
回复
好帖子,学习了
NeptuneGrass
2010-10-01
打赏
举报
回复
C#静态类和非静态类哪个效率更高
jscn123789abc
2009-06-21
打赏
举报
回复
很多都是理论的评估,性能差别具体测试起来很麻烦的。。。
ld1201
2009-06-21
打赏
举报
回复
直接调用方法效率是一样的。
非静态的方法只是在实例类的时候需要一定时间。
AhBian
2009-06-21
打赏
举报
回复
简言之,从 OO 讲,静态方法是无状态的,实例方法是有状态的。
静态方法当然要略快一点点点点点点...
所以,如果方法无状态,建议以静态方式实现。
若不是这样,也没必要有一个“静态”概念了。
codelabs
2009-06-18
打赏
举报
回复
有时候不能单纯的比效率。比如你要考虑你是否要用到上面定义的非静态字段,或者有没有必要因为要使用一个静态函数,就把所有该函数中要用的变量都定义成静态函数。
我觉得这个问题要从他们的区别和用处说,而不是单纯的从效率说。
静态函数和非静态函数的区别,从内部角度来说,在调用的时候,非静态函数会先压一个当前对象指针(this),然后压其他参数调用函数,这样可以保证可 以找到对象地址,而静态少了压当前指针这一步(因为它本来也没有当前对象),而进行直接调用。
在类实例化的时候,整个类应该是被分成了两部分,一部分是静态字段和方法,另一部分是实例字段,当然每一部分都有各自的索引和指针,前者在一个线程内只有一份,后者是线程中每个实例有一份。
beikehanbao23
2009-06-18
打赏
举报
回复
[Quote=引用 24 楼 superzxf 的回复:]
对象的实例化指的是对象数据的实例化,而不是对象本身的实例化
也就是创建一个对象,需要实例化的是对象的数据,而不是对象的成员方法
不管什么对象在内存都是通过代码段和数据段来分开存储的,这两个东西是分开的,所谓的面向对象只是对用户的展现形式,并不是系统底层的真是情况,对cpu来说没有任何的对象,只有代码和数据。
所以对象的方法本身在内存中只有一个副本,不管是否创建对象的实例始终存在与程序的代码空间
…
[/Quote]
相对静态方法来说实例化只是多了一次实例化的时间消耗
个人认为如果实例化放入循环那就是有一定的影像
wenblue7
2009-06-18
打赏
举报
回复
热帖啊
顶起
moonshineidolon
2009-06-18
打赏
举报
回复
静态高占内存
非晶态省内存
sytu_hzj
2009-06-18
打赏
举报
回复
晕,目前为止,我的帖子被回的最多的一次
ndsc20090609
2009-06-17
打赏
举报
回复
有时静态高,有时非静态高。
wewei123shangdawei
2009-06-17
打赏
举报
回复
[Quote=引用 7 楼 taoistong 的回复:]
凡事不能一概而论
如果机器性能好,静态函数多一些也没有什么关系
但是如果机器性能不好,静态函数太多了,使服务器达到瓶颈了。性能就不提高了
[/Quote]
机器的性能重要,但程序的性能优化也是很重要的
kunine
2009-06-17
打赏
举报
回复
實踐告知:靜態方法更高。
cmfl3483
2009-06-17
打赏
举报
回复
静态方法使用起来方便,不用实例化
bingbingw
2009-06-17
打赏
举报
回复
[Quote=引用 14 楼 xiaoyaxin 的回复:]
静态就象做烧饼,先做好了卖的时候直接卖,卖的时候省事。非静态有点像做煎饼,做一个买一个,不糟践。
[/Quote]
介位对小吃有研究。。。
wanglee
2009-06-17
打赏
举报
回复
果然很多牛人回答都很经典,先收藏了
柳晛
2009-06-17
打赏
举报
回复
是否Static,要看实际应用,我认为开发效率与维护成本比这个效率所创造的价值更高。
通常软件提高时间效率或空间效率不在这些细枝末节上,纯属个人意见。
Error_Code
2009-06-17
打赏
举报
回复
静态不静态 岂止是效率的问题?
加载更多回复(36)
C#
高
级程序设计
为什么要学习
C#
?
C#
是微软的**语言,拥有接近20年的历史和广泛的应用。目前国内对
C#
的书籍和视频相对较少,但
C#
和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,
C#
的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。
C#
用途广泛,容易上手。可以说,如果你熟悉
C#
语言,你将不愁找不到好的工作。 本课程分为四部分(三层架构、设计模式、多线程、网络编程达人),详细的讲述了一名
C#
中、
高
级程序员需要学习的各项知识,其中宿舍管理系统实战是重中之重。课程主要特点: 1. 紧跟微软
C#
发展,使用
C#
语言和开发环境版本2. 结合应用案例,力求做到深入浅出,明白易懂3. 重要概念附有英文翻译4. 独家附赠一个面试经验分享,希望每位学生都可以从中受益,在面试中脱颖而出5.含宿舍管理系统的讲解希望本套课程在你学习
C#
的过程中,可以对你有所帮助。
C#
静态
类和
静态
函数
C#
翻译msdn文档
静态
类和
静态
函数
C#
静态
方法&
非
静态
方法调用总结
C#
静态
方法&
非
静态
方法总结 总结的
C#
静态
方法&...//新建一个测试用的类1,演示
静态
方法和
非
静态
方法在同个类中的调用 class TestClass1 { //新建一个
非
静态
方法 int add1(int a, int b)
C#
静态
构造
函数
和构造
函数
亲,现在你还记得
静态
构造
函数
的适用场景吗?如果没有,那么我们一起来复习一下吧。
静态
构造
函数
是在构造
函数
方法前面添加了static关键字之后形成的,并且没有修饰符(public,private),没有参数。
静态
构造
函数
有...
C#
基础二
静态
与
非
静态
的区别
1
静态
与
静态
的区别 有没有static的修饰,有static修饰的就是
静态
,没有就是
非
静态
2
静态
类与
非
静态
类 ...
非
静态
成员,在每次创建一个类的实例时,都会在内存中为
非
静态
成员新分配一块存储 4
静态
..
C#
110,587
社区成员
642,562
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章