转自:http://developer.51cto.com/art/200908/147734.htm

C#静态方法有什么弊端? 我们在实际的开发过程中会注意到C#静态方法对于我们程序的影响,那么有哪些C#静态方法使用的体会呢?这里我们来看看一些方面:

C#静态方法使用中遇到的问题:

在源码工程中几乎没有看到什么静态方法,但是在Ms的SQLHelper中几乎全部使用的是静态方法,为什么会这样呢?我们来看看有以下的几种可能:

1、在一些系统中使用非常频繁的方法都使用静态方法可以提高系统性能我是这么认为的 :)

2、本身不可升级, 重写 这要看一个软件产品的目的是什么了.

3、为了方便,不用实例化,但这样程序编译运行时就占用了系统资源

4、C#静态方法及属性在程序启动的时候,就全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释 放还有就是,所有访问者看到的静态属性的数据几乎都是一样的,比如A用户设置了UserName这个属性,B用户访问的时候,得到的UserName仍然 是A用户设置的那个。这种特性,如果用在固定数据中,那不会有太大问题,比如连接字符串之类的

5、C#静态方法/数据成员是属于类的,不是属于某一个对象的,因而调用它不需要实例化;静态方法和静态数据成员相当于共享变量。为该类的所有对象 所共有,因而在需要共享数据时,定义这种类型时很好的选择。 一但定义一个类后(不一定要实例化对象)该类的所有静态成员就载入内存(并不是程序启动,就装入内存,没有定义该类时它不会载入内存) 静态成员的作用域与它所属的类的作用域相同

C#静态方法的使用情况的一些相关内容就向你介绍到这里,希望对你学习和使用C#静态方法有所帮助。

最新文章

  1. Web API接口之FileReader
  2. MySQL与Oracle的主要区别
  3. 【BZOJ-1670】Building the Moat护城河的挖掘 Graham扫描法 + 凸包
  4. HTML \ XHTML \XML 的区别
  5. windows一个目录下最大文件数目
  6. Django项目中model增加了新字段怎样更新?
  7. ubuntu下phpstorm无法输入中文的解决办法
  8. Cmake调用NSIS(一个可执行文件,其实就是一个编译器)编译NSIS脚本问题研究
  9. 关于 Swift
  10. 企业架构研究总结(39)——TOGAF架构能力框架之架构委员会和架构合规性
  11. toggle的使用心得
  12. git fetch pull checkout区别
  13. FragmentTabHost使用注意
  14. opencv3+版本感觉还是不稳定啊
  15. 安卓电量优化之WakeLock锁机制全面解析
  16. 【Spark-core学习之六】 Spark资源调度和任务调度
  17. 《FPGA全程进阶---实战演练》第五章 基于74HC595的LED操作
  18. 代码控如何实现配置fiddler
  19. SSM基础整合
  20. 条件变量 sync.Cond

热门文章

  1. Vote Disk 和 OCR概述
  2. PostgreSql别名区分大小写的问题
  3. Redis need tcl 8.5 or newer
  4. cvc-complex-type.2.3: Element 'beans' cannot have character [children]
  5. 编写一个带有main函数的类,调用上面的汽车类,实例化奔驰、大众、丰田等不同品牌和型号,模拟开车过程:启动、加速、转弯、刹车、息火,实时显示速度。
  6. scala-学习 1
  7. python面试题(转)
  8. linux添加root级别账户
  9. HTTP Error 500.0 - Internal Server Error错误代码0x80070002
  10. Poor Warehouse Keeper