类的诸实例共享集合数据的实现
2007-08-17 11:06
260 查看
如果类实例需要共享一片内存(如集合) 该怎么实现呢?
答案是使用Static成员和Static构造函数,Static成员就不用说了,它是属于类的东西,各实例都能共享到的东西,如果这个成员是一个集合的话就需要Static构造函数来初始化它,Static构造函数在CLR载入类时就会被调用.
如下:
public class Sample
{
private static Hashtable ganzhiHt;
...
static Sample()
{
//---干支部分-------------------
ganzhiHt = new Hashtable();
ganzhiHt.Add("壬申", 7);
ganzhiHt.Add("甲申", 5);
ganzhiHt.Add("丙申", 5);
ganzhiHt.Add("戊申", 14);
ganzhiHt.Add("庚申", 8);
.....
}
}
这样,创建Sample的实例时就不会创建多个ganzhiHt了,节省了空间,尤其是加快了速度.
答案是使用Static成员和Static构造函数,Static成员就不用说了,它是属于类的东西,各实例都能共享到的东西,如果这个成员是一个集合的话就需要Static构造函数来初始化它,Static构造函数在CLR载入类时就会被调用.
如下:
public class Sample
{
private static Hashtable ganzhiHt;
...
static Sample()
{
//---干支部分-------------------
ganzhiHt = new Hashtable();
ganzhiHt.Add("壬申", 7);
ganzhiHt.Add("甲申", 5);
ganzhiHt.Add("丙申", 5);
ganzhiHt.Add("戊申", 14);
ganzhiHt.Add("庚申", 8);
.....
}
}
这样,创建Sample的实例时就不会创建多个ganzhiHt了,节省了空间,尤其是加快了速度.
相关文章推荐
- 数据结构笔记(一)线性表的顺序表示和基本操作及其顺序表实现的集合运算(A-B)U(B-A)实例
- 多线程(四) 实现线程范围内模块之间共享数据及线程间数据独立(Map集合)
- 多线程(四) 实现线程范围内模块之间共享数据及线程间数据独立(Map集合)
- 使用原生redux模块在React组件之间实现数据共享小实例
- 定义一个List集合并实例化对应的实现类对象。循环输入任意个整数,输入0结束输入循环,对集合中的数据进行从大到小的排序后输出
- 全局原子实现共享数据
- 在Android中使用SharedPreferences存储数据以实现数据共享
- PHP中实现接收多个name相同但Value不相同表单数据实例
- android 集合SSH服务端实现登录并保持session使客户端在登陆后能够获取服务端数据
- Pickle 序列化(实现内存数据在不同程序间共享)
- mysql 用mysql数据库实现PHP SESSION数据的多服务器共享
- 基础篇:7.Content provider与Content Resolver实现数据共享
- java中JDBC实现往MySQL插入百万级数据的实例代码
- android面试题:请介绍下ContentProvider是如何实现数据共享的
- Jquery Ajax学习实例5-向WebService发出请求,返回泛型集合数据的异步调用
- Android学习笔记十六.使用ContentProvider实现数据共享(二).URI...工具类
- 继承Application实现Android数据共享
- Android中Application实现数据共享
- 利用ServletContext对象实现多个Servlet之间的数据共享
- List集合 混合存放数据 简单实现