Collections Data Structure C#

//http://tinyerp.codeplex.com/
//GNU Library General Public License (LGPL)
//-----------------------------------------------------------------------
// 
//     Copyright (c) Pyramid Consulting. All rights reserved.
// 
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
namespace Bamboo.Core.Common
{
    public class SysUtil
    {
        /// 
        /// Â½«ÖµÎªArrayListµÄHashtableת»»ÃŽÂªÖµÎªÊý×éÀàÐ͵ÄHashtable
        /// 

        /// 
        /// 
        public static void HashList2HashArray(System.Collections.Hashtable htList, System.Collections.Hashtable htArray)
        {
            System.Collections.IEnumerator it = htList.Keys.GetEnumerator();
            while (it.MoveNext())
            {
                Object obj = it.Current;
                System.Collections.ArrayList alList = (System.Collections.ArrayList)htList[obj];
                if (alList.Count > 0)
                {
                    Object[] objSize = new Object[1];
                    objSize[0] = alList.Count;
                    Type[] types = new Type[1];
                    types[0] = typeof(int);
                    Object[] objArray = (Object[])alList[0].GetType().MakeArrayType().GetConstructor(types).Invoke(objSize);
                    for (int i = 0; i < alList.Count; i++)
                    {
                        objArray[i] = alList[i];
                    }
                    htArray[obj] = objArray;
                }
                else htArray[obj] = null;
            }
        }
    }
}