OK, if they don't have to be in a specific order, then that cuts down the possibilities by a factor of 720 though it'll still be slow to execute as you now need to sort the random numbers both for display purposes and to (efficiently) compare them with the numbers input.
'count' is just a variable name but, if you don't like it, change it to something else such as 'n'.
Console.ReadKey() is there to prevent the console from closing before you've had time to read the output. It can be replaced by Console.ReadLine() which requires the enter key, rather than any key, to be pressed.
int.TryParse can be replaced with with either int.Parse or Convert.ToInt32. However, if someone enters a non-number (such as 'abc'), the program will terminate with an exception.
Anyway, here's the revised code:
using System;
class Program
{
static void Main()
{
int[] numbers = new int[6];
string[] ordinals = {"eerste", "tweede", "derde", "vierde", "vijfde", "zesde"};
Console.WriteLine("Geef je geluksgetallen (tussen 1 en 42");
int n = 0;
while (n < 6)
{
Console.WriteLine("Geef je {0} geluksgetal", ordinals[n]);
numbers[n] = int.Parse(Console.ReadLine());
if (numbers[n] < 1 || numbers[n] > 42)
{
Console.WriteLine("Moet tussen 1 en 42. Probeer het opnieuw.");
}
else
{
n++;
}
}
Array.Sort(numbers);
ulong guess = 0;
Random rand = new Random();
int[] randomNumbers = new int[6];
while (true)
{
for(int i = 0; i < 6; i++)
{
randomNumbers[i] = rand.Next(1, 43);
}
Array.Sort(randomNumbers);
for(int i = 0; i < 6; i++)
{
Console.Write("{0, -8}", randomNumbers[i]);
}
Console.WriteLine();
guess++;
bool areEqual = true;
for(int i = 0; i < 6; i++)
{
if (randomNumbers[i] != numbers[i])
{
areEqual = false;
break;
}
}
if (areEqual)
{
Console.WriteLine("{0} gissingen waren nodig om de juiste cijfers weer te geven", guess);
Console.ReadLine();
break;
}
}
}
}