سؤال

int x;
int iHateDataRows = dt.Rows.Count + 2;
System.Data.DataRow[] dra = new System.Data.DataRow[1000];

for(x = 0; x < iHateDataRows; ++x)

وهكذا، ومن الواضح أن هذه الحلقة، ولكن مشكلتي هي أن ++x يقول لي أنه لا يمكن الوصول إليه. أنا لا أعرف إذا كان هذا هو مجرد بلدي IDE بالجنون أو شيء (وأنا استخدم شارب ديفيلوب، لأن معظمهم VS2008 هو عالي الكعب جدا وليس لديها ميزات أنيق القليل الذي أحب.)

وأرجو أن أكون قدمت ما يكفي من المعلومات لشخص ما لتخمين في المشكلة. لقد يحدق في هذا الشيء، وتغيير المتغيرات. كل شيء، وانها لن تتزحزح.

وتحرير:

وهذا هو بعد لحلقة:

if(dra[x].ItemArray[2].ToString() == "0")
{
    return x.ToString();
}
else
{
    return "Fail";
}

وبالتأكيد أتمنى أن يكون هذا الرمز غير صحيح وأنا لم يحصل لاختباره.

هل كانت مفيدة؟

المحلول

وأنت يعودون دائما من حلقة قبل أن يذهب إلى التكرار التالي. وهذا هو، كل شطر من "لو" عودة البيان. كنت أعود أبدا إلى الجزء العلوي من الحلقة.

نصائح أخرى

وأنت من المحتمل أن يكون break أو return (أو، لا سمح الله، goto) داخل الحلقة.

ومنذ سيتم تنفيذ واحد أو الآخر "if" الوارد في الحلقة، ويضمن عودة أن يحدث، وسوف حلقة أبدا تشغيل التكرار الثاني. وبالتالي، فإن الزيادة لم تحدث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top