结构体数组ArrayList的使用

   在此次实验的时候,为了保存treeview的节点和对应的文件的路径,我选择了使用结构体来保存它们之间的对应关系,选择使用ArralyList来保存结构体。

   具体做法是:

  1、定义结构体和ArrayList 对象。

  public struct MyStruct
  {
   public string node;
   public string filepath;
  }
  public ArrayList Global_map = new ArrayList(); 

  

  2、向结构体内保存数据

//将node -- filepath 对应关系存储起来
MyStruct var = new MyStruct();
var.filepath = filepath;
var.node = node.Index.ToString();

Global_map.Add(var);

  

  3、最后,获取当前选中的节点的index,然后比较,得到对应的文件名称,整个过程类似一个temp交换。

//获取当前node对应的sheet所在的文件的绝对路径
string node_index = treeView1.SelectedNode.Parent.Index.ToString();
//在全局的ArrayList中查找这个元素,从而找到对应的文件名
string filepath = "";
for (int i = 0; i < Global_map.Count;i++ )
{
MyStruct struct_temp = (MyStruct)Global_map[i];
if (struct_temp.node==node_index)
  {
   filepath = struct_temp.filepath;
  }
}

 

  

posted @ 2012-07-26 22:55  zhxm  Views(2162)  Comments(0Edit  收藏  举报