工作中希望将一些连续的对象数据保存在内存中,
常用的方法是创建一个集合类(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;
}
}