How about:
IEnumerable<int> perfectNumbers = Enumerable.Range(2, 100000)
.Where(number => Enumerable.Range(1, number - 1).Where(i => (number % i) == 0).Sum() == number);
foreach (int number in perfectNumbers)
{
Console.WriteLine("perfect number is " + number);
}