数组下标是字符串的实现
 using System;
using System;
 namespace Oceansoft.LOGERP.MessageClient.MessageHeadAffirm
namespace Oceansoft.LOGERP.MessageClient.MessageHeadAffirm {
{ /// <summary>
    /// <summary> ///  报文头的形成
    ///  报文头的形成   ///  作者:贾海天
    ///  作者:贾海天 /// </summary>
    /// </summary> public class MessageHead
    public class MessageHead {
    { //相关数组中存储项目的数组
        //相关数组中存储项目的数组 protected object[] _items;
        protected object[] _items; //数组中的项目数
        //数组中的项目数 protected int _count=0;
        protected int _count=0; public int Length
        public int Length {
        { get
            get {
            { return _count;
                return _count; }
            }             }
        } public object this[string key]
        public object this[string key] {
        { get
            get {
            { return KeyToObject(key);
                return KeyToObject(key); }
            } set
            set {
            { AddToArray(key,value);
                AddToArray(key,value); }
            } }
        } protected bool KeyExists(string key)
        protected bool KeyExists(string key) {
        { for (int n=0;n<_count;n++)
            for (int n=0;n<_count;n++) {
            { KeyItemPair pair=(KeyItemPair)_items[n];
                KeyItemPair pair=(KeyItemPair)_items[n]; if (pair.key==key)
                if (pair.key==key) {
                { return true;
                    return true; }
                } }
            } return false;
            return false; }
        } protected void AddToArray(string key,object item)
        protected void AddToArray(string key,object item) {
        { if (!KeyExists(key))
            if (!KeyExists(key)) {
            { _items[_count]=new KeyItemPair(key,item);
                _items[_count]=new KeyItemPair(key,item); _count++;
                _count++; }
            }             }
        } protected object KeyToObject(string key)
        protected object KeyToObject(string key) {
        { for (int n=0;n<_count;++n)
            for (int n=0;n<_count;++n) {
            { KeyItemPair pair=(KeyItemPair)_items[n];
                KeyItemPair pair=(KeyItemPair)_items[n]; if (pair.key==key)
                if (pair.key==key) {
                { return pair.item;
                    return pair.item;  }
                } }
            } return null;
            return null; }
        } public MessageHead(int MessageHead_Length)
        public MessageHead(int MessageHead_Length) {
        { //
            // // TODO: 在此处添加构造函数逻辑
            // TODO: 在此处添加构造函数逻辑 //
            // _items=new object[MessageHead_Length];
            _items=new object[MessageHead_Length]; }
        } protected struct KeyItemPair
        protected struct KeyItemPair {
        { public object item;
            public object item; public string key;
            public string key; public KeyItemPair(string k,object obj)
            public KeyItemPair(string k,object obj) {
            { key=k;
                key=k; item=obj;
                item=obj; }
            } }
        } }
    } }
}
 MessageHead MH=new MessageHead(3);
MessageHead MH=new MessageHead(3); MH["Confirm_NO"]="aaa";
MH["Confirm_NO"]="aaa"; MH["IO_Seq"]="bbb";
MH["IO_Seq"]="bbb"; MH["Gross_Pack_NO"]="ccc";
MH["Gross_Pack_NO"]="ccc";
注意:
Struct 的实现是在栈里面实现的
Class   实现是在托管堆里面实现的
Class里面的方法是在托管堆里面的方法表里面保存的.
此方法也可以用 Hashtable 来实现,具体实现将在以后进行研究
 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号