Here is a more efficient solution:
Random rand = new Random();
List<int> list1 = new List<int> {0,1,2,3,4,5,6,7,8,9,10};
List<int> list2 = new List<int> {11,12,13,14,15,16,17,18,19,20,21};
List<int> list3 = new List<int> {22,23,24,25,26,27,28,29,30,31,32};
List<int> list4 = new List<int> {33,34,35,36,37,38,39,40,41,42,43};
List<int> list5 = new List<int> {44,45,46,47,48,49,50,51,52,53,54};
Console.WriteLine("B I N G O");
for (int i = 0; i <= 10; i++)
{
string range3string;
var r = rand.Next(0, list1.Count);
int range1 = list1[r];
list1.RemoveAt(r);
r = rand.Next(0, list2.Count);
int range2 = list2[r];
list2.RemoveAt(r);
r = rand.Next(0, list3.Count);
int range3 = list3[r];
list3.RemoveAt(r);
r = rand.Next(0, list4.Count);
int range4 = list4[r];
list4.RemoveAt(r);
r = rand.Next(0, list5.Count);
int range5 = list5[r];
list5.RemoveAt(r);
if (i == 5)
range3string = "NULL";
else
range3string = range3.ToString();
Console.WriteLine("{0} {1} {2} {3} {4}",range1, range2, range3string, range4, range5);
}
Console.ReadLine();