问题描述
我发送邮件的电子邮件以人的名单。我有收件人列表中的数组,但列表中可以得到高达500人。这里对于我的邮件服务器在一次(50个收件人)
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 that my mail server sends out at once (50 recipients)
因此,如果该列表> 50我需要打破它在不同的邮件。
so if the list is > 50 i need to break it up in to different mails.
什么是采取一个阵列,并把它分解成50
What is the best way to take one array and break it up into arrays of 50
例如:
如果数组是120长,我希望3阵列退换,50,另外有50和20个第三
if array is 120 long, i would expect 3 arrays returned, one with 50, another with 50 and a third with 20.
推荐答案
You could use the Batch operation from MoreLINQ:
Person[] array = ...;
var arrays = list.Batch(50).Select(x = x.ToArray());
foreach (Person[] shorterArray in arrays)
{
...
}
(如果你很高兴与的IEnumerable<人>
代替数组,你不需要选择
当然电话。)
(If you're happy with IEnumerable<Person>
instead of arrays, you don't need the Select
call of course.)
这篇关于分手数组的数组不大的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!