工作中希望将一些连续的对象数据保存在内存中,
常用的方法是创建一个集合类(Collections),最常用的是ArrayList或者他的继承类。
但是如果我们需要在多个对象中同时使用这个实例,就显得比较麻烦,
因为我们不可能将他在实例化一遍,
那么我们只能可以用它作为最初实例化此对象的一个属性来使用,是不是觉得很麻烦呢?
好,那我介绍一种将其作为一个静态对象的存储方式。
Example:http://files.cnblogs.com/wanghualiang/PersistentMemoryObject.rar
首先,创建一个对象同时创建此对象的静态实例:
 public class PersistentObject
 {
  public static PersistentObject persistentObject = new PersistentObject();
         }
创建一个ArrayList对象。
public ArrayList classes = new ArrayList();
建立操作集合的静态函数
public static void AddClass(ParameterClass subclass)
  {
   persistentObject.classes.Add(subclass);
  }

public static void PrintClass()
  {
   foreach (ParameterClass subclass in persistentObject.classes)
   {
    PrintParameterClass(subclass);

}
  }

public static ParameterClass GetClassByID(string ID)
  {
   foreach (ParameterClass subclass in persistentObject.classes)
   {
    if (subclass.ID.Equals(ID))
     return subclass;
   }
   return null;

}

public static bool WriteClassByID(string ID, string Field1)
  {
   foreach (ParameterClass subclass in persistentObject.classes)
   {
    if (subclass.ID.Equals(ID))
    {
     lock(subclass)
     subclass.Field1 = Field1;
     PrintParameterClass(subclass);
    
     return true;
    }
   }
   return false;

}

public static void PrintParameterClass(ParameterClass pc)
  {
   Debug.Write(pc.ID+"\t");
   Debug.Write(pc.Field1+"\t");
   Debug.Write(pc.Filed2+"\t");
   Debug.Write(pc.Field3+"\t");
   Debug.Write("\n");

}
OK!我们的静态持久对象就建立起来了.
附表
public class ParameterClass
 {
  public string ID;
  public string Field1;
  public string Filed2;
  public string Field3;

public ParameterClass(string ID)
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
   this.ID = ID;
  }
 }

转载于:https://www.cnblogs.com/wanghualiang/archive/2005/08/18/217822.html

让静态对象来维护你的数据相关推荐

  1. 2020-12-14(全局/静态对象的构造函数和析构函数调用的时机以及地址)

    一般的对象实例化在什么时候实例化的呢? 是不是在main函数运行到那里的时候,然后创建对象,会调用类里面的构造函数. 那当我们遇到全局/静态对象的时候,它是不是也是需要在main函数里面慢慢构造呢? ...

  2. Java构造器、静态对象、非静态对象等的初始化顺序

    Java创建类对象时对于构造器,静态对象.非静态对象的初始化有一定的顺序,我简单归纳一下: class classes {public classes(String n) {System.out.pr ...

  3. C++构造与析构(18) - 静态对象(static object)何时销毁

    C++的static关键字 static关键字可以用于修改局部变量,函数,类的数据成员以及对象.静态局部变量只初始化一次,然后在每次函数调用时都保持它的值.静态成员函数可以直接用类来调用,不需要创建对 ...

  4. Qt之Q_GLOBAL_STATIC创建全局静态对象

    概述 所谓的全局静态对象,大多是在单例类中所见,之前写过一篇文章介绍如何实现一个单例类,在这里,这是最常见的方式来进行创建,需要自定义 static 类对象, 并进行手动初始化.而今天要说的是更简单的 ...

  5. oracle表和对象基础维护笔记

    一 oracle表和对象基础维护笔记 1.1 常见概念 1.2 创建表 1.3 表常见字段 1.4 增加或删除字段 1.5 更新字段 1.6 重命名表 1.7 改变表存储表空间和存储参数 1.8 删除 ...

  6. 静态对象、全局对象与程序的运行机制

    静态对象.全局对象与程序的运行机制 1.   在介绍静态对象.全局对象与程序的运行机制之间的关系之前,我们首先看一下atexit函数. atexit函数的声明为:int atexit( void ( ...

  7. 静态对象线程java_慢速多线程Java应用程序:这是由于访问静态对象引起的吗?...

    首先,介绍- 我有一组类,它们从同一类Feature继承,但是彼此不同,因为它们每个都使用不同的信息进行计算.所以这是一个例子: public class FeatureA extends Featu ...

  8. 静态Web服务器-返回固定页面数据

    1. 开发自己的静态Web服务器 实现步骤: 编写一个TCP服务端程序 获取浏览器发送的http请求报文数据 读取固定页面数据,把页面数据组装成HTTP响应报文数据发送给浏览器. HTTP响应报文数据 ...

  9. oracle数据定义语句,oracle(sql)基础篇系列(3)——数据维护语句、数据定义语句、伪列...

    oracle(sql)基础篇系列(三)--数据维护语句.数据定义语句.伪列 DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 ...

最新文章

  1. C/C++ 中指针和引用的区别
  2. 无法激活安全认证服务
  3. python 全部缩进一行_Python(48)语言参考2:词法分析
  4. 跟我学 Java 8 新特性之 Stream 流(四)并行流
  5. 当数据中台遇见云原生,智领云看到企业数据转型新方向
  6. 查看linux cpu负载均衡,关于linux内核cpu进程的负载均衡
  7. 【高校联合主办| SCI、EI 快检索】物联网,机器学习,网络安全,通信技术,算法,微芯片等计算机多主题征稿!...
  8. CANape a2l文件的编辑教程
  9. 【裴礼文数学分析】例1.1.2
  10. 替代CATIA查看stp/step格式模型免费软件推荐
  11. 编译原理笔记05-语法分析自底向上
  12. pythonarray去除inf_python 中numpy快速去除nan, inf的方法
  13. Python编程实例03——对英文文本进行分词
  14. JS正则表达式常见用法实例详解
  15. 数据结构与算法之美笔记——基础篇(下):图、字符串匹配算法(BF 算法和 RK 算法、BM 算法和 KMP 算法 、Trie 树和 AC 自动机)
  16. Word VBA自动排版(1)-新建窗口,并且设置并列分布
  17. CZ880到手第一天测试,安装Windows11 To Go
  18. 修改dpr提高ECharts图表的清晰度
  19. Android 彩信发送
  20. 脑残定义,超级经典!

热门文章

  1. 写在马哥教育第八期开始之前
  2. 技术转载:八款开源 Android 游戏引擎 (巨好的资源)
  3. eyoucms添加内容
  4. 《C和指针》一1.5 警告的总结
  5. 如何将本地的项目加入git管理?
  6. laravel创建新model数据的两种方法
  7. 分布式系统的事务处理(推荐)
  8. 如果一个按钮被覆盖如何响应?
  9. 实现DataGridView中同一列不同行控件类型的不同
  10. 网络故障排除工具NeoTraceProTrial325