how to shuffle a list in c# code example
Example 1: c# shuffle string array
public class Randomizer
{
public static void Randomize<T>(T[] items)
{
Random rand = new Random();
for (int i = 0; i < items.Length - 1; i++)
{
int j = rand.Next(i, items.Length);
T temp = items[i];
items[i] = items[j];
items[j] = temp;
}
}
}
Example 2: c# randomize a list
var shuffledcards = cards.OrderBy(a => Guid.NewGuid()).ToList();
Example 3: c# shuffle
private static Random rng = new Random();
public static void Shuffle<T>(this IList<T> list)
{
int n = list.Count;
while (n > 1) {
n--;
int k = rng.Next(n + 1);
T value = list[k];
list[k] = list[n];
list[n] = value;
}
}
Example 4: c# how to shuffle a list
class Program
{
static string[] words1 = new string[] { "brown", "jumped", "the", "fox",
"quick" };
static void Main()
{
var result = Shuffle(words1);
foreach (var i in result)
{
Console.Write(i + " ");
}
Console.ReadKey();
}
static string[] Shuffle(string[] wordArray) {
Random random = new Random();
for (int i = wordArray.Length - 1; i > 0; i--)
{
int swapIndex = random.Next(i + 1);
string temp = wordArray[i];
wordArray[i] = wordArray[swapIndex];
wordArray[swapIndex] = temp;
}
return wordArray;
}
}