using System.Collections.Generic;
public static void Main()
Random rnd = new Random();
Console.WriteLine(rnd.NextFloat(0, 10));
int[] data = new int[]{5, 10, 15, 20, 25};
data.Each(x => Console.WriteLine(x));
data.Each(x => Console.WriteLine(x));
public static class ArrayExtension
public static void Each<T>(this T[] array, Action<T> objFunc)
objFunc.DynamicInvoke(x);
public static class RandomExtension
public static float NextFloat(this Random rnd, int min, int max)
return (float)(rnd.Next(min, max) + (rnd.Next()));
public static void Shuffle<T>(this Random rnd, List<T> list)
int targetIndex = rnd.Next(i + 1);
T temp = list[targetIndex];
list[targetIndex] = list[i];
public static void Shuffle(this Random rnd, Array array)
int targetIndex = rnd.Next(i + 1);
object temp = array.GetValue(targetIndex);
array.SetValue(array.GetValue(i), targetIndex);