for(int i = 0; i < array.Length; ++i)
{
 var rand = random.Next(array.Length);
 Swap(array, i, rand);
}

俺はこれだなあ
正しいかは知らん