例如,如果列表有 40 个帐号,如何将其分解为两个请求,每个请求 20 个,并将响应添加回列表
public async Task<ListInformation> RetrieveInformation(List<long> AccountNumber)
{
ListInformationreturn Val = new ListInformation();
var keys = new List_Type();
AccountNumber.ForEach(x => { keys.Add(x.ToString()); });
var response = await AccountRequestAsync(keys);
});
}
尝试这样的事情:
public async Task<ListInformation> RetrieveInformation(List<long> AccountNumber)
{
ListInformationreturn Val = new ListInformation();
int skip = 0; //default
const int take = 20;
do
{
var keys = new List_Type();
AccountNumber.Skip(skip).Take(take).ForEach(x => { keys.Add(x.ToString()); });
var response = await AccountRequestAsync(keys);
});
skip += keys.Count();
}
while (AccountNumber.Count() != skip);
}
或者,您可以创建一个包含要采用的元素数量的属性,而不是
const int take = 20;
我们在这里拥有的重要内容:
skip += keys.Count();
我们始终必须将已处理键的计数添加到skip属性中,而不是获取计数。
并将您的响应添加到结果中,如下所示:
ListInformationReturn result = new ListInformation();
result.Add(response)
但实际上我不知道你的响应类型,所以这只是一个例子