Randomises elements in List
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Summary description for ObjectUtils
/// </summary>
namespace UTSDAL.LINQSQL.Utils
{
public class ObjectUtils
{
/// <summary>
/// wraps predefined objects with desired attributes and provides them to calling instances
/// </summary>
public ObjectUtils()
{
}
/// <summary>
/// randomises elements in List
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list"></param>
/// <returns></returns>
public static List<T> Randomize<T>(List<T> list)
{
List<T> randomizedList = new List<T>();
Random rnd = new Random();
while (list.Count > 0)
{
int index = rnd.Next(0, list.Count); //pick a random item from the master list
randomizedList.Add(list[index]); //place it at the end of the randomized list
list.RemoveAt(index);
}
return randomizedList;
}
}
}
Related examples in the same category