i am sending out email to a list of people. I have the list of recipients in array but the list can get up to 500 people. There is a limitation on the number of recipients
You could use the Batch operation from MoreLINQ:
Person[] array = ...; var arrays = list.Batch(50).Select(x = x.ToArray()); foreach (Person[] shorterArray in arrays) { ... }
(If you're happy with IEnumerable instead of arrays, you don't need the Select call of course.)
IEnumerable
Select