迭代通过c#数组并将对象顺序放入其他数组中

spa*_*bed 0 c# arrays foreach loops

好的,所以这看起来很简单,但我想不出一个直截了当的解决方案; 基本上我在C#中有一个包含102个元素的对象数组.然后我还有另外4个空数组.我想迭代原始数组并均匀分布100个元素,然后分别将101和102分配给第1个和第2个新数组.

int i = 1,a=0, b=0, c=0, d = 0;

foreach (ReviewStatus data in routingData)
{
    if (i == 1)
    {
        threadOneWork[a] = data;
        a++;
    }
    if (i == 2)
    {
        threadTwoWork[b] = data;
        b++;
    }
    if (i == 3)
    {
        threadThreeWork[c] = data;
        c++;
    }
    if (i == 4)
    {
        threadFourWork[d] = data;
        d++;
        i = 0;
    }
    i++;

}
Run Code Online (Sandbox Code Playgroud)

现在上面的代码肯定有效,但我很好奇,有没有人知道更好的方法呢?

Jim*_*mmy 5

var workArrays = new[] { 
    threadOneWork,
    threadTwoWork,
    threadThreeWork,
    threadFourWork, 
};

for(int i=0; i<routingData.Length; i++) {
    workArrays[i%4][i/4] = routingData[i];
}
Run Code Online (Sandbox Code Playgroud)

  • 数学有时会很有意义. (2认同)