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

  • 相关阅读:
    Android Stuido无法下载jcenter库
    android studio的Gradle一直在sync的办法
    mysql dual表的用途及案例
    编码-解码
    循环神经网络RNN
    项目中遇到的chrome 浏览器跨域方案
    angular 不同组件间通过service传递数据
    angular -moment.js瘦身
    windows10电脑共享文件问题记录
    解决vue本地构建热更新卡顿的问题“75 advanced module optimization”解决方案
  • 原文地址:https://www.cnblogs.com/wanghualiang/p/217822.html
Copyright © 2011-2022 走看看