我是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
这里的任何帮助将不胜感激:)
祝你今天愉快!!