zoukankan      html  css  js  c++  java
  • 让静态对象来维护你的数据

    工作中希望将一些连续的对象数据保存在内存中,
    常用的方法是创建一个集合类(Collections),最常用的是ArrayList或者他的继承类。
    但是如果我们需要在多个对象中同时使用这个实例,就显得比较麻烦,
    因为我们不可能将他在实例化一遍,
    那么我们只能可以用它作为最初实例化此对象的一个属性来使用,是不是觉得很麻烦呢?
    好,那我介绍一种将其作为一个静态对象的存储方式。
    Example:https://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;
      }
     }

  • 相关阅读:
    Python开发入门与实战3-Django动态页面
    Python开发入门与实战2-第一个Django项目
    Python开发入门与实战1-开发环境
    牛客网剑指offer第12题——数值的整数次方
    再叙快速排序
    牛客网剑指offer第29题——最小的k个数
    牛客网剑指offer第59题——按之字形顺序打印二叉树
    牛客网剑指offer第33题——第N个丑数
    各种特征距离的计算方法及应用
    牛客网剑指offer第24题——二叉树中和为某一值的路径
  • 原文地址:https://www.cnblogs.com/wanghualiang/p/217822.html
Copyright © 2011-2022 走看看