用c#生成一个数组(表)tableA,里面有三列:
ID;Name;Grade;
ID1;Zhang;A;
IDz;Wu;B;
IDy;Qian;C+
...保存的时用类似这样的语句:  tableA.Save("IDy", "Qian", "C+");需要读取的时候用这样的方式:比如我想调用IDy的Name和Grade,可以这样调用: tableA["IDy"].Name 和 tableA["IDy"].Grade 注意,ID列不是index 0,1,2,...;不可以用index调用;不可以写函数然后for/foreach遍历;求能实现上述要求的代码

解决方案 »

  1.   

    不是代码的问题,你先得有个概念。http://msdn.microsoft.com/zh-cn/library/7ay27kt9(v=vs.80).aspx看完以后,你大概对序列化有个认识,然后你可以选择某种存储格式,比如流,xml,或者json来持久化数据。然后再谈到具体怎么实现。
      

  2.   

    多谢caozhy,我明白序列化的东东,关于具体实现我只是想用一个类似string数组的类来快速存取数据 (用我上面描述的方法)
      

  3.   

    定义如下的类:
    class DataItem
    {
        public string ID { get; set; }
        public string Name { get; set; }
        public string Grade { get; set; }
    }这样使用:
    List<DataItem> list = new List<DataItem>()
    {
        new DataItem() { ID = "ID1", Name = "Zhang", Grade = "A" },
        new DataItem() { ID = "IDz", Name = "Wu", Grade = "B" },
        new DataItem() { ID = "IDy", Name = "Qian", Grade = "C+" }
    };
    string IDyName = list.FirstOrDefault(x => x.ID == "IDy").Name;
    string IDyGrade = list.FirstOrDefault(x => x.ID == "IDy").Grade;
      

  4.   

    我在想你是不是想要索引器?class MyArray
    {
        private List<DataItem> list = new List<DataItem>();
        public DataItem this[string ID]
        {
            return list.FirstOrDefault(x => x.ID == ID);
        }
    }使用
    string IDyName = MyArray["IDy"].Name;