الحصول على قيمة الصف في ج DataTable و#
سؤال
ولدي مشكلة مع قانون بلدي.
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;
}
ملاحظة عملتم أن تأخذ بعين الاعتبار خلال الصف الأخير لن يكون هناك "ط + 1" لذلك سوف تضطر إلى استخدام تعليمة if للقبض على ذلك.
نصائح أخرى
for (int i=0; i<dt_pattern.Rows.Count; i++)
{
DataRow dr = dt_pattern.Rows[i];
}
في حلقة، يمكنك الآن مرجع الصف ط + 1 (على افتراض وجود ط + 1)
لا تنتمي إلى StackOverflow