문제

내 코드에 문제가 있습니다.

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 (Int32 i = 0; i < dt_pattern.Rows.Count; i++)
{
    double yATmax = ToDouble(dt_pattern.Rows[i+1]["Ampl"].ToString()) + AT;
}

참고 마지막 행 중에 고려해야합니다. 'I+1'이 없으므로 IF 문을 사용해야합니다.

다른 팁

for (int i=0; i<dt_pattern.Rows.Count; i++)
{
    DataRow dr = dt_pattern.Rows[i];
}

루프에서 이제 행 I+1을 참조 할 수 있습니다 (i+1이 있다고 가정).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top