j'ai un problème avec mon code.
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;
}
mais j'ai besoin de xATmax et yATmax la valeur de la prochaine ligne ... Quelqu'un peut m'aider?
N'utilisez pas un foreach alors. Utilisez une boucle for. Votre code est un peu foiré mais vous pourriez faire quelque chose comme ...
for (Int32 i = 0; i < dt_pattern.Rows.Count; i++)
{
double yATmax = ToDouble(dt_pattern.Rows[i+1]["Ampl"].ToString()) + AT;
}
Notez que vous devrez prendre en compte lors de la dernière ligne, il n'y aura pas de "i + 1", vous devrez donc utiliser une instruction if pour attraper cela.
for (int i=0; i<dt_pattern.Rows.Count; i++)
{
DataRow dr = dt_pattern.Rows[i];
}
Dans la boucle, vous pouvez maintenant référencer la ligne i + 1 (en supposant qu'il existe un i + 1)
for (Int32 i = 1; i < dt_pattern.Rows.Count - 1; i++){ double yATmax = ToDouble(dt_pattern.Rows[i]["Ampl"].ToString()) + AT; }
si vous voulez contourner le problème + 1