一组棘手的byte数组循环,求助
小弟写了个开头,写不下去,,希望高手可以帮助写下去 
 THS   
 要求是这样的: 
 字节数组总长度L是已知的,编号为两个字节,编号的内容(字节长度)是根据前面两个字节编号决定的,,请问如何在不超出字节数组总长度L的情况下,将各编号的内容取出(处理).....该循环主要是要取出各编号的具体内容.     
 ///    <summary>  
                         ///   根据数据标识编码返回数据内容的长度。ItemID,标识编码 
                         ///    </summary>  
                         ///    <param   name= "ItemID ">  </param>  
                         ///    <returns>  </returns>  
                         private   int   GetLen(string   ItemID) 
                         { 
                                     switch   (ItemID) 
                                     { 
                                                 case    "902F ": 
                                                             return   8;   
                                                 case    "916F ": 
                                                             return   16;   
                                                 case    "902F ": 
                                                             return   8;   
                                                 //..................................... 
                                                 default: 
                                                             break; 
                                     }   
                         }     
                         ///    <summary>  
                         ///   ItemData:数据内容字节帧,totalLen:数据内容长度 
                         ///    </summary>  
                         ///    <param   name= "ItemData ">  </param>  
                         ///    <param   name= "totalLen ">  </param>  
                         private   void   ProcTermResponse(byte[]   ItemDatas,   int   totalLen) 
                         { 
                                     int   index   =   0;//记录处理位置; 
                                     int   ItemDataLen;//数据项长度   
                                     while   (index    <   totalLen)