利用哈希表实现实体类索引

来源:互联网 发布:lua nginx api 编辑:程序博客网 时间:2024/05/17 23:34


//必须继承CollectionBase才能使用哈希对象    public class 客户管理_股权结构Info:CollectionBase{private string_出资形式;        public string 出资形式        {            get{ return this._出资形式; }            //利用属性set写入HASH            set{ this._出资形式= value; Hash.Add("出资形式", value); }     } //声明一个Hash对象        private Dictionary<string, object>_Hash = new Dictionary<string, object>();        public Dictionary<string, object>Hash        {            get { return _Hash; }            set { _Hash = value; }        }        //建立类的索引读写Hash表        public object this[string key]        {            get{ return (object)Hash[key]; }            set { Hash.Add(key, value);}           }}


 

我们实例化这个实体类后,就可以直接对它使用索引读写了

 

客户管理_股权结构Info 客户管理_股权结构Info = new 客户管理_股权结构Info();客户管理_股权结构Info.出资形式 = "ok!!!!!!!!!!!!!!!!!!!111111111";Console.WriteLine(客户管理_股权结构Info["出资形式"]);


 

不过请注意:用对象属性写入的使用索引、属性都可以读出,但是利用索引写入的,只能使用索引读出,不能用属性读出,因为索引写入时只执行了哈希表写入,要实现写入哈希表同时写入属性就需要对对象属性进行遍历,匹配适合的属性再写入,这样程序的执行效率就低了。因此这里我们只实现了属性写入,索引读出。