随机泛型

public static List<T> GetRandomList<T>(List<T> inputList)
{
    //Copy to a array T[] copyArray = new T[inputList.Count];
    inputList.CopyTo(copyArray);

    //Add range
   
List<T> copyList = new List<T>();
    copyList.AddRange(copyArray);

    //Set outputList and random
   
List<T> outputList = new List<T>();
    Random rd = new Random(DateTime.Now.Millisecond);

    while (copyList.Count > 0)
    {
        //Select an index and item
       
int rdIndex = rd.Next(0, copyList.Count - 1);
        T remove = copyList[rdIndex];

        //remove it from copyList and add it to output
       
copyList.Remove(remove);
        outputList.Add(remove);
    }
    return outputList;
}

posted @ 2013-04-27 10:29  咸鱼公子  Views(203)  Comments(0Edit  收藏  举报