C# 循环遍历一个大数组并将值相加#

C# 循环遍历一个大数组并将值相加#,c#,arrays,list,loops,C#,Arrays,List,Loops,我试图循环遍历一个包含180个元素的数组,将前60个元素添加到一起,并将其存储在一个列表中。然后将接下来的60个元素添加到一起,并将它们存储在列表中,然后对最后60个元素重复该操作。到目前为止,我的代码只会添加前60个,并将它们存储在列表中。问题似乎是elseif语句中的“i%60==0”,但我不确定原因 Random r = new Random(); int[] arr = new int[180]; List<int> MyLi

我试图循环遍历一个包含180个元素的数组,将前60个元素添加到一起,并将其存储在一个列表中。然后将接下来的60个元素添加到一起,并将它们存储在列表中,然后对最后60个元素重复该操作。到目前为止,我的代码只会添加前60个,并将它们存储在列表中。问题似乎是elseif语句中的“i%60==0”,但我不确定原因

Random r = new Random();
        
        int[] arr = new int[180];
        List<int> MyList = new List<int>();
        int[] array2 = new int[2];

        //intialize random numbers in 60 length array
        for (int i = 0; i < arr.Length; i++)
        {
            arr[i] = r.Next(1, 10);
        }

 int score = 0;
        //looping through arr
        for (int i = 0; i < arr.Length; i++)
        {
            
            if (i % 60 != 0 || i == 0 )
            {                
                score = score + arr[i];
                
                i++;
            }
            else if (i % 60 == 0 && i != 0)
            {
                //adding the values to a list
                MyList.Add(score);
                //resetting score after score is added to the list
                score = 0;
            }
            
        }
        // converting list to my second array
        array2 = MyList.ToArray();

        //printing values in array
        for (int i = 0; i < array2.Length; i++)
        {
            Console.WriteLine(array2[i]);
        }
Random r=new Random();
int[]arr=新int[180];
List MyList=新列表();
int[]array2=新int[2];
//初始化60长度数组中的随机数
对于(int i=0;i
您的原始循环和条件有几个问题,实际上需要:

int score = 0;
for (int i = 0; i < arr.Length; i++)
{
    score = score + arr[i];

    if ((i + 1) % 60 == 0)
    {
        MyList.Add(score);
        score = 0;
    }
}

您的原始循环和条件有几个问题,实际上需要:

int score = 0;
for (int i = 0; i < arr.Length; i++)
{
    score = score + arr[i];

    if ((i + 1) % 60 == 0)
    {
        MyList.Add(score);
        score = 0;
    }
}