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;
      }
     }

  • 相关阅读:
    多语言网站(如何实现网站的多语言版本?)
    宝塔linux面板.txt
    什么是海外镜像点?
    一步一步CCNA之三:路由器全局配置模式
    Kmeans算法 与 KNN算法
    新浪公开课
    shanghaiR
    Announcing Couch Crawler, a CouchDB search engine/crawler
    字符串相似度算法(编辑距离算法 Levenshtein Distance)
    R与SAS、SPSS的比较
  • 原文地址:https://www.cnblogs.com/wanghualiang/p/217822.html
Copyright © 2011-2022 走看看