源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# 静态变量与静态方法实例研究

  • 时间:2021-07-04 09:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# 静态变量与静态方法实例研究
程序如下:
[url=http://www.1sucai.cn/upload/201111/20111123211302514.png][img]http://files.jb51.net/upload/201111/20111123211302410.png[/img] [/url]   [url=http://www.1sucai.cn/upload/201111/20111123211302885.png][img]http://files.jb51.net/upload/201111/20111123211302173.png[/img] [/url] 分析如下: 无论是使用静态的翻译.英汉辞典内容,还是new 翻译().构造英汉辞典内容,他们都调用了 英汉辞典初始化() ,但是静态变量中的值只会初始化一次,后面每次访问,都是上次处理过的值,所以第一次显示的结果是相同,也就是说one,two的值其实是一个,第二个two访问的其实是第一次one初始化后的值;而使用类的构造函数来初始化变量每次都会重复初始化,自然其结果不同. 再比如(以下内容为转载):
[u]复制代码[/u] 代码如下:
class Program { static void Main(string[] args) {//输出未经定义的静态变量,结果为0;也说明了,在C#中未赋初值的变量系统自动赋为0 Console.WriteLine(sort.i); //静态变量的访问方法(类名.静态变量名),而且还可以在外部操作静态变量呢,可见静态变量并不神秘; sort.i = 5; //输出5 Console.WriteLine(sort.i); //还可以通过构造函数对静态变量初值呢,呵 sort sortTest = new sort(); //输出构造函数中的赋值 3; Console.WriteLine(sort.i); } } class sort { public static int i; public sort() { i = 3; } }
总结:在类内部访问静态变量时,直接用静态变量名即可,不用以(类名.静态变量名),这样的方式访问, 除了有静态变量之外,还有静态类实例,还有静态方法.但用法都是大同小异; 如:public static void myFun(){} //静态方法 private static Random MyRandom=new Random(); //静态类实例 之所以有时声明为私有静态变量,是为了让它只初始化一次.这样节省了内存空间 但又想让它在外部是不可访问的,这样利用私有这个访问限定符就搞定了. 私有静态:安全又节省空间. 例:如果想在每次实例化类的时间生成一组随机数,但产生随机数是要用到一个类的,即Random,这个类不是静态类,它要产生实例,用产生的实例来生成随机数,但如果在每次类实例化时都产生一个Random实例,那内存空间简直是极大的浪费,所以可以用: private static Random MyRandom=new Random(); 这样每次类实例化时,都会用同一个Random实例MyRandom来产生随机数
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部