Как мне работать с двумя массивами разного размера?
у меня есть следующий код в VBA:
For i = 1 To datalen If (Sheets("data").Cells(2 + i, 2) >= fusionYmin) And (Sheets("data").Cells(2 + i, 2) <= fusionYmax) Then dataA = Sheets("data").Cells(2 + i, 3) AvgVolts = (Sheets("raster").Cells(raster + 1, 2) + Sheets("raster").Cells(raster + 1, 5)) / 2 If (A - AvgA) <= threshold Then Corr_A(raster) = Corr_A(raster) + 1 End If raster = raster + 1
в основном он берет большое количество ячеек, вычисляет, удовлетворяют ли они условию, если истинно, то 1, и добавляет Все 1 для общей суммы. я пытался имитировать код на языке Си#
но то, что я получаю, не совсем правильно (VBA дает мне около 15 средних значений, а я получаю 1200 средних значений с c#). Я могу проверить, что массивы data[] и avgVolts[] действительно возвращают правильные значения
Если кто-нибудь может помочь мне в этом, я был бы очень признателен, и я был бы рад дать столько информации, сколько необходимо для решения этой проблемы.
Что я уже пробовал:
for (j = 0; j < data.Length; j++) { if (data[j].Y >= Convert.ToSingle(textBox3.Text) && data[j].Y <= Convert.ToSingle(textBox4.Text)) { for (i = 0; i < numRasters + 2; i++) { if (data[j].A - avgVolts[0][i] <= thresh) corrA[i]++; } } }
Member 12815488
я добавил к своему вопросу, что VBA делает циклы, но циклы очень далеки от фрагмента кода, поэтому я забыл их
я использую отладчик, он не дает мне никаких оснований полагать, что что-то не так.