PDA

View Full Version : سوال: کنسل کردن کد اجرایی



طبیب دل
شنبه 23 آبان 1394, 22:29 عصر
با سلام به دوستان
چطور میشه روال اجرای کدی که داخل یک button نوشتم رو کنسل کنم؟
مثلا اگر شرطی برقرار بود ادامه کد اجرا نشه .
هر چی سرچ کردم به جواب نرسیدم
با تشکر

En_MK
یک شنبه 24 آبان 1394, 07:37 صبح
از return یا Go to (https://msdn.microsoft.com/en-us/library/13940fs2.aspx) استفاده کنید

MortezaZandi
یک شنبه 24 آبان 1394, 15:05 عصر
اگه تو بدنه تابع بدون مقدار بازگشتی هستی و قصد داری که کلا از تابع خارج بشی از دستور Return استفاده کند. با این دستور ادامه کد ها نادیده گرفته میشه و کنترل به انتهای تابع انتقال داده میشود.

Private void myProducer()
{
int a=0;
int b=0;

a=b;

return;

a=b*2;
a=a/b;
}
-------------------------------------------------------



اگه تو تابع ای هستی که یک نقدار بازگشتی خواهد داشت، از دستور Return بعلاوه مقداری از نوع تابع جاری استفاده کن، اینکار باعث میشه تا مقدار داده شده به دستور Return به عنوان جواب تابع برگردانده شود و مابقی دستورات بعد از Return نادید گرفته شوند، با این کار کنترل اجرا به انتهای تابع فرستاده خواهد شد.

private int MyClockSecond()
{
int ret=-1;

ret=now.second();

return ret;

ret=...

}
--------------------------------------------------------




اگر درون بدنه یک حلقه هستید و قصد دارید از مابقی دستورات حلقه اجرا نشوند و به کد بعد از حلقه انتقال پیدا کنید از دستور break استفاده کنید. با این عمل کدهای بعد از دستور break نادیده گرفته خواهند شد و کنترل اجرا به انتهای حلقه امتقال داده خواهد شد.. ولی همچنان در تابع هستید و کدهای بعد از حلقه فوق اجرا خواهند شد.



private void myProducer()
{
int temp=-1;
int manp=-1;

for (i=0 ; i<temp;i++)
{
if (i>manp) break;
manp=(i*3)/7;
}

return manp;
}


کدهایی که نادیده گرفته خواهند شد به رنگ آبی و دستورات پرش به رنگ قرمز مشخص شده اند.
.

پیشنهاد میشود در محیط ویژوال استادیو در حد ممکن از دستورات پرشی GoTo اسفاده نکنید ،این مورد مربوط به مباحث کدهای مدیریت شده و مدیریت نشده است.