Speaking about the tricky part (random extraction of numbers without repetitions) you don't need to 'convert' exactly that ugly VB, you may write a better code doing the same thing, try, for instance:
static void Main()
{
const int SIZE = 6;
int[] list = new int[SIZE];
Random rnd = new Random();
for (int i = 0; i < SIZE; i++)
{
list[i] = i+1;
}
for (int i = 0; i < SIZE - 1; i++)
{
int r = rnd.Next(SIZE-i);
int tmp = list[SIZE - 1];
list[SIZE - 1] = list[r];
list[r] = tmp;
}
for (int i = 0; i < SIZE; i++ )
Console.WriteLine("list[{0}]={1}", i, list[i]);
}
The algorithm is explained
here[
^].