منوی اصلی

 

موضوعات

 
حلقه ها

با استفاده از حلقه Loops می توان یک دستور یا مجموعه ای از دستورات را به تعداد دفعات مشخص یا تا زمان برقرار شدن یک شرط تکرار کرد . تصمیم گیری در مورد اینکه کدام نوع حلقه را بکار برید به این بستگی دارد که ایا از قبل میدانید که چه تعداد دفعات ای لازم است حلقه تکرار شود و یا عوامل خارجی نیز بر روی تعداد دفعات تکرار ان تائثیر دارند . برای مثال وقتی از یک شی ء DataReader برای خواندن رکورد ها از یک بانک اطلاعاتی استفاده میکنید این شیء متدی بنام Read دارد که در صورت موجود نبودن رکورد مقدار false را باز میگرداند . این مورد یکی از مواردی است که تعداد دفعاتی که لازم است حلقه تکرار شود را از قبل نم دانید .

حلقه های While و do

با استفاده از حلقه While یا Do میتوانید یک دستور یا مجموعه ای از دستورات را تا زمان برقرار شدن یک شرط تکرار کرد . برای مثال در ابتدا برای خواندن داده ها از بانک اطلاعاتی حلقه While را مورد استفاده قرار می دهیم :

SqlConnection Con = new SqlConnection();
Con.ConnectionString = new ClsConfiGuration().GetConectionString();
SqlCommand Icomand = new SqlCommand(Comand, Con);
Con.Open();
SqlDataReader Ireder = Icomand.ExecuteReader();

while (Ireder.Read())
{
ComboMe.Items.Add(Ireder[NameTahsilatFild2].ToString());
}
Ireder.Close();

Con.Close();

دستور Sql را نادیده بگیرید . زیرا در این مثال اهمیتی ندارد . انچه اهمیت دارد این است که تا زمانیکه دستور Sql اجرا شود تعدادی رکورد بازگردانده می شود . این دستور ساده است . تا زمانیکه شرط حلقه While برقرار True باشد مجموعه دستورات داخل ان تکرار می شوند.متد Read تا زمانیکه رکوردی موجود باشد مقدارTrue را باز میگرداند و اگر رکوردی موجود نباشد مقدار False را باز میگرداند . بنابر این تا زمانیکه رکوردی موجود باشد حلقه تکرار می شود . وقتی اجرای برنامه به حلقه While می رسد شرط حلقه را ارزیابی و تست میکند. اگر شرط True باشد مجموعه دستوراتی که بین While و End While هستند اجرا میشوند و وقتی اجرای برنامه به end while برسد حلقه مجدادا اغاز شده و یکبار دیگر شرطش ارزیابی و تست میشود این روند تا زمانیکه شرط حلقه False شود ادامه می یابد بدین ترتیب اجرای حلقه خاتمه یافته و اجرای برنامه از اولین دستور یعد از حلقه ادامه می یابد . اگر در همان ابتدا شرط حلقه False باشد اجرای حلقه خاتمه یافته و دستورات داخل ان حتی یک بار هم اجرا نخواهد شد .

ه گاه نیاز است تا به اجرای حلقه را خاتمه دهید می توانید از دستور End While استفاده کنید برای مثال

SqlDataReader rdl;
while (rdl.Read())
{
if (Operators.ConditionalCompareObjectLess(rdl["IdCount"], 0, false))
{
break;
}
}

حال به سراغ حلقه Do می رویم . در شکل زیر شرط حلقه در ابتدای حلقه و قبل از اجرای دستورات حلقه ارزیابی و تست میشود . برای مثال

SqlDataReader idr = new SqlDataReader ();
do
{
//code
} while (idr.Read());

 

تعداد بازدید : 78 |   نوشتده شده توسط admin در تاریخ 1388/05/15 در ساعت 14:26


امار سایت

 
Maftoox . ltd Free Software ® . Copyright © 2007-2010 Maftoox.Ltd
Powerd By : M.Maftooh    Cms By : Maftoox Engine 2.0.1