首页 新闻 会员 周边

c# static 存在的价值?

0
悬赏园豆:5 [已解决问题] 解决于 2014-08-22 10:16

static 实现什么特殊的功能,静态方法 调用不需要实例化,实例化调用,这两种用法分别应用于何种情况??

c#
问题补充:

是不是静态方法,属性应用与经常调用的方法属性,这样不必每次调用都创建占用内存。

奔*跑的主页 奔*跑 | 初学一级 | 园豆:72
提问于:2014-04-01 21:25
< >
分享
最佳答案
0

静态类型直接存放在栈上,无需实例化直接调用。

我认为静态static就是对内存的管理,让代码功能更加面向对象。

static属性和非static属性的区别:

  static不需要实例化直接  类.属性;

  非static需要创建对象new,分配了一部分内存在堆上。CLR之后还要回收。

给你四个名称你自己可以理解下static的意义:

  静态构造函数

  静态属性

  构造函数

  属性

你可以看看这四个共存时运行顺序,很多面试题都有。总结一句话:static就是直接调用,节省内存,提高代码性能。

收获园豆:5
CTRA王大大 | 初学一级 |园豆:30 | 2014-08-19 09:31
其他回答(8)
0

一般来说,我自己的理解是static对于多个程序需要频繁调用的类方法可以简化调用,如果一个类新建有N个对象,这N 个对象只有同一个静态属性与方法,就是这些对象的方法和属性只有“1个”,如最经典的就是SqlHelper.cs这个著名的访问数据库用的程序。我自己也是菜鸟,也理解不太深。希望能帮到你。

酱油能 | 园豆:386 (菜鸟二级) | 2014-04-01 21:58
0

静态方法(属性)属于类,而不属于对象。

Wind4 | 园豆:220 (菜鸟二级) | 2014-04-02 11:45
0

用了static后,如果它是public,那么全系统都可以调用它,而不用声明多个实例,这样可以减少占用资源.并且提高访问速度,因为它根本不用new.再一个就是调用很方便,直接 . 就出来了.我的感觉就是这样.

hexllo | 园豆:318 (菜鸟二级) | 2014-04-02 14:18
0

静态的话会在内存中长期存在,不用每次使用的时候都进行实例化分内存,相对来说常用的东西,或者说程序一直需要用到的方法,属性等等的建议用作静态的。

非静态的反之。

seaconch | 园豆:4823 (老鸟四级) | 2014-04-02 16:32
0

static抛开性能问题不谈,我想没必要为了那点内存和速度来选择static。

static应用更多的场景应该是常量,工厂方法等这一类,例如

string.Empty、int.Max、int.Min这些是常量的代表

工厂方法设计模式里面有讲。

还有一些常用函数:string.IsNullOrEmpty

hailants | 园豆:750 (小虾三级) | 2014-04-04 16:11
0

把三楼和四楼的结合在一起就是正确答案了

fanhongshuo | 园豆:189 (初学一级) | 2014-04-08 00:19
0

http://www.imooc.com/view/112 建议去看看这个,虽然是java的,但是道理是一样的!

潮流还是非主流 | 园豆:306 (菜鸟二级) | 2014-08-22 09:51
0

1.方便调用,类.属性/方法。

2.将其运用于常用的属性或方法,提升其访问速度并节省额外内存。

YaoFrankie | 园豆:202 (菜鸟二级) | 2018-06-15 17:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册