如何选择数组索引大于某个值的数组范围C#

时间:2018-02-09 01:12:17

标签: c#

我试图在i的每次迭代中选择15个事件。

i的第一个循环中,我想添加validbatch[0 to 15]

下一个循环validbatch[15 to 30],依此类推。

如何在index > i*15的有效批次中过滤或选择子阵列?

for (j = counter; j < i * 15; j++)
{
    crm x = new crm();
    x.EmailAddress = EMAILaddress[j];
    Properties prop = new Properties();
    prop.new_insideroptout = optin[j];
    validBatch[j] = new SampleEventBody() { Id = Int64.Parse(ID[j]), Publication = subscriptionname[j], CrmProperties = x, Properties = prop };
    counter++;
}
sendTasks.Add(client.SendEventBatchAsync(validBatch.Where<EventBody>(validbatch => validBatch[j] > validbatch[i * 15 - 1])

1 个答案:

答案 0 :(得分:0)

您可以使用以下通用方法拆分数组。

public static IEnumerable<IEnumerable<T>> SplitArray<T>(this T[] array, int size)
{
    for (var i = 0; i < (float)array.Length / size; i++)
    {
        yield return array.Skip(i * size).Take(size);
    }
}

然后你可以把它称为

var splitedArray = array.SplitArray(2);

我希望你在寻找这个。