با سلام من یه قطعه کد دارم که توی اون دو تا if تعریف کردم و داخل بلوک هر if یه سری عملیات انجام میشه و چند متغییر مقدار دهی میشن اما ایراد اینه که بعد از این بلوک ها اون متغییری که مقدار دهی شده نمیتونه مقدار خودش رو نگه داره!
double mv1, mq1, k1, p1,s,x,x2,p2,mv2,y; int x1; switch (d1) { case 5: p1 = (0.05 * t1); mv1 = t1 - p1; x = mv1 / 250000; x1 = Convert.ToInt32(x); x2 = mv1 - (x1*250000); if (x2 > 15) { y = x2 - 250000; p2 = p1 - y; mv2 = (y + x2) + mv1; } if (x2 < 15) { p2 = p1 + x2; mv2 = mv1; } k1 = mv2 * 0.02; mq1 = mv2 / (d1 - 1); s = t1 + k1; Label13.Visible = false; Label19.Visible = false; Label4.Text = Convert.ToString(p2); Label15.Text = Convert.ToString(mv2); Label6.Text = Convert.ToString(mq1); Label9.Text = Convert.ToString(k1); Label8.Text = Convert.ToString(s);
مثلا توی کد بالا توی دو تا if اول متغییر MV2 مقداردهی میشه اما توی خط زیر که دقیقا بعد از if ها هستش به MV2 خطا میده باید چیکار کنم؟
k1 = mv2 * 0.02;
از طرفی نمیخوام مقدار متغییرهای if اول به if دوم منتقل بشه باید چیکار کرد؟
لطفا پیام خطایی که میگیرید رو بگید.
'Use Of Unassigned local Variable 'mv2
متغیر های شما میبایست بعد از معرفی یک مقداردهی اولیه براشون صورت بگیره:
double mv1=0, mq1=0, k1=0, p1=0, s=0, x=0, x2=0, p2=0, mv2=0, y=0;
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)