C#分配数组变量的简单循环

C#分配数组变量的简单循环,c#,arrays,C#,Arrays,有没有一种简单的方法可以使用循环同时遍历两个数组?我已经为此工作了好几天,我觉得这比我想象的要简单得多 类似于 当statsArray和perDayArray下标小于10时,将statsArray[x]除以天并分配给perDayArray[x] 此外,statsArray下标以前是由文本框指定的 private double CalculatePerDay(double stats, int days) { return stats / days; }

有没有一种简单的方法可以使用循环同时遍历两个数组?我已经为此工作了好几天,我觉得这比我想象的要简单得多

类似于

当statsArray和perDayArray下标小于10时,将statsArray[x]除以天并分配给perDayArray[x]

此外,statsArray下标以前是由文本框指定的

    private double CalculatePerDay(double stats, int days)
    {
        return stats / days;
    }

        perDayArray[0] = CalculatePerDay(statsArray[0], daysPassed);
        perDayArray[1] = CalculatePerDay(statsArray[1], daysPassed);
        perDayArray[2] = CalculatePerDay(statsArray[2], daysPassed);
        perDayArray[3] = CalculatePerDay(statsArray[3], daysPassed);
        perDayArray[4] = CalculatePerDay(statsArray[4], daysPassed);
        perDayArray[5] = CalculatePerDay(statsArray[5], daysPassed);
        perDayArray[6] = CalculatePerDay(statsArray[6], daysPassed);
        perDayArray[7] = CalculatePerDay(statsArray[7], daysPassed);
        perDayArray[8] = CalculatePerDay(statsArray[8], daysPassed);
        perDayArray[9] = CalculatePerDay(statsArray[9], daysPassed);
        perDayArray[10] = CalculatePerDay(statsArray[10], daysPassed);
for(int i=0;i
您可以按如下方式使用Linq

perDayArray = statsArray.Select( a => CalculatePerDay( a, daysPassed ) ).ToArray();

我想你应该这样做:

for(int i=0; i<= 10; i++)
{
  perDayArray[i] = CalculatePerDay(statsArray[i], daysPassed);
}

for(int i=0;i它们是否始终包含相同数量的项?为什么不使用perDayArray.GetLength(0)?(或perDayArray.GetUpperBound(0)-1)是的,它会更好。谢谢@AlfieGoodacreThis工作得很好。我觉得我已经尝试了很多不同的方法,这就是其中之一。一定是在什么地方搞砸了。谢谢Roma。@Fabjan-我认为把它作为一个函数更好,因为1.它更清楚地说明了计算在做什么,2.未来还有空间e来扩展函数。
for(int i=0; i<= 10; i++)
{
  perDayArray[i] = CalculatePerDay(statsArray[i], daysPassed);
}