C#for循环需要一些帮助 - 关闭

时间:2016-09-21 06:39:24

标签: c# for-loop

我认为我的循环存在一些问题。首先我考虑(i = 0和i> 1),但我不知道如何写。任何人都可以帮助我吗?

我想要的是logik //开始 =>如果i = 0,则从txtbox1复制; =>之后,比较i = 2和i = 3看是否相同。如果相同,那么从txtbox复制; => i ++直到最后,每1,2,3,4 ...将显示不同的字符串; //结束

public void OnMasterColumnChanged(BCE.AutoCount.Invoicing.Sales.SalesOrder.SalesOrderMasterColumnChangedEventArgs e)
    {
        for (int i = 0; i < e.MasterRecord.DetailCount; i++)
        {
            if (i == 0)
            {
                e.MasterRecord.GetDetailRecord(i).YourPONo = TxtBox1.Text;
            }
            else if (i > 1)
            {
                if (e.MasterRecord.GetDetailRecord(i).YourPONo == e.MasterRecord.GetDetailRecord(i - 1).YourPONo)
                {
                    e.MasterRecord.GetDetailRecord(i).YourPONo = TxtBox1.Text;
                }
            }
        }
    }

2 个答案:

答案 0 :(得分:1)

我认为你想要那个:

public void OnMasterColumnChanged(BCE.AutoCount.Invoicing.Sales.SalesOrder.SalesOrderMasterColumnChangedEventArgs e)
{
    if (e.MasterRecord.GetDetailRecord.Count == 0)
        return;

    e.MasterRecord.GetDetailRecord(0).YourPONo = TxtBox1.Text;

    if (e.MasterRecord.GetDetailRecord.Count < 3)
        return;

    for (int i = 2; i < e.MasterRecord.DetailCount; i++)
    {
        if (e.MasterRecord.GetDetailRecord(i).YourPONo == e.MasterRecord.GetDetailRecord(i - 1).YourPONo)
        {
            e.MasterRecord.GetDetailRecord(i).YourPONo = TxtBox1.Text;
        }
    }
}

答案 1 :(得分:1)

如果GetDetailRecord方法返回不同输入的不同值,那么您将为GetDetailRecord传递以下不同的值并检查相等的条件。

if(e.MasterRecord.GetDetailRecord(i).YourPONo == e.MasterRecord.GetDetailRecord(i - 1).YourPONo)

在一个地方,您正在通过GetDetailRecord(i)并使用GetDetailRecord(i - 1)进行检查