我的代码有问题.
foreach (DataRow dr in dt_pattern.Rows) { part = dr["patternString"].ToString(); if (part != vpart) { System.Console.WriteLine(part); System.Console.WriteLine("Geben Sie bitte für den Abschnitt die AT ein: "); temp = System.Console.ReadLine(); AT = ToDouble(temp); dr["AT"] = AT; double xATmax = ToDouble(dr["Ampl"].ToString()); double x = ToDouble(dr["Time"].ToString()); double yATmax = ToDouble(dr["Ampl"]+1.ToString()) + AT; double y = ToDouble(dr["Ampl"].ToString()); dr["alphaATmin"] = Gradient(x,xATmax,y,yATmax); System.Console.WriteLine(dr["alphaATmin"]); } vpart = part; }
但我需要在xATmax和yATmax下一行的价值......有人可以帮助我吗?
那不要使用foreach.使用'for循环'.你的代码有点乱,但你可以做类似......
for (Int32 i = 0; i < dt_pattern.Rows.Count; i++) { double yATmax = ToDouble(dt_pattern.Rows[i+1]["Ampl"].ToString()) + AT; }
请注意,在最后一行中你必须考虑到没有'i + 1'所以你必须使用if语句来捕获它.