【发布时间】:2023-03-30 18:52:01
【问题描述】:
private void Updated_ModRecFGA()
{
try
{
DRFGAModifiedRecord TABLE = new DRFGAModifiedRecord();
foreach (ArrayFunc Row in ArrayFunc.QueryResult)
{
foreach (ArrayFunc Row2 in ArrayFunc.QueryResult1)
{
TABLE.RecordDocID = Row.FGACol1;
TABLE.DRNo = Row.FGACol2;
TABLE.DDNum = Row.FGACol3;
TABLE.LineNumber = Row.FGACol4;
TABLE.Itemnmbr = Row2.updItemCode;
TABLE.Itemdesc = Row2.updItemDesc;
TABLE.Pallet = Row2.updPallets;
TABLE.BagsNo = Row2.updBagsNo;
TABLE.TotalLoaded = Row2.updTotalKgs;
TABLE.PostStat = Row2.updPostStat;
TABLE.ProdCode = Row2.updProdcode;
TABLE.VariantCode = Row2.updVariantCode;
TABLE.DateModify = DateTime.Now.ToShortDateString();
TABLE.TimeModify = DateTime.Now.ToShortTimeString();
TABLE.UserModify = "Mik";//GlobalvarClass.LogUser;
TABLE.ReasonModify = GlobalvarClass.GetModReasOnDR;
TABLE.FileType = "New";
saveREC(TABLE);
gfunc.MsgBox("Saved", 1);
}
}
ArrayFunc.QueryResult.Clear();
ArrayFunc.QueryResult1.Clear();
GlobalvarClass.GetModReasOnDR = string.Empty;
}
catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); }
}
是否有另一种正确的方法来使用这种代码以避免重复?我知道它是重复的,因为有两个 foreach 声明
【问题讨论】:
-
您可以将
foreach分解为单独的方法,第一个方法返回一个布尔值,并让foreach (ArrayFunc Row2 in ArrayFunc.QueryResult1)方法从第一个方法中获取布尔值。这就是我开始打破foreach声明的方式。 { -
我认为您可能需要为第二个集合过滤掉不相关的行,然后迭代剩下的内容。
-
感谢 ZeroPhase 和 Tsabo 是的,这是我所做的,我已经打破了它们......我已经做到了......我只是在想是否可能有一种方法可以处理数组上的二维数组用于将其插入 sql 的功能感谢您提供的提示而不破坏它.. 但它总是导致重复数据,所以我确实将它们断开.. 通过按顺序插入数据。非常感谢您的回答
标签: c# arrays foreach-loop-container