内循环跳跃指数

我是stackoverflow的新手(刚刚注册),已经有一个问题。 目前,我正在尝试通过书籍,在线教程等自学C#。

到目前为止,我已经创建了一个Windows窗体应用程序,该程序使用户能够输入一些项目数量(int)和一些可用数量进行分配。

因此,存在一个包含项目编号和数量(1..n)的datagridview dgv1,以及一个具有分配数量(1..m)的datagridview dgv2。

样本数据:

dgv1

无数量 1 4194 2 3168 3 15000 4 3736

dgv2

9999 10000 无限

我想要应用程序执行的操作是:

9999-4194 = 5805 //项目1数量 5805-3168 = 2637 //项目2数量 2637-15000 = -12363 //项目3数量不合适,我们必须继续进行下一个分配数量10000

10000-12363 = -2363 //我们再也没有容量,必须继续前进

infinity-2363 =无限// 2637 + 10000 + 2363 = 15000,现在我们可以分配第3项了 infinity-3736 =无限//项目4

我想将那些大胆的值存储在3个不同的数组中,但我不知道如何。 这是我想出的:

for (int j = 0; j < ArrAllocationQty.Length; j++)

            {
                for (int i = 0; i < ArrItemQty.Length; i++)
                {

                    if (ArrAllocationQty[j] < 0)
                    {


                       break;


                    }


                    ArrAllocationQty[j] = ArrAllocationQty[j] - ArrItemQty[i];



                    textBox1.Text += ArrAllocationQty[j].ToString() + Environment.NewLine;



                }

            }

输出文本框:(我使用999999999而不是无穷大作为上次分配数量,因为我不知道如何处理无穷大)

5805 2637 -12363 5806 2638 -12362 999975806 999972638 999957638 999953902

这里的任何帮助将不胜感激:)

祝你今天愉快!!