دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
Enumeration در سی شارپ
1403/09/01 -
پارتیشن بندی در پایگاه داده اوراکل
1403/08/30 -
Delegates در سی شارپ
1403/08/29 -
انواع ایندکس در پایگاه داده اوراکل
1403/08/28 -
سربارگذاری متدها در سی شارپ
1403/08/27
آموزش حلقه for در سی شارپ
مفهوم حلقه for در زبان برنامه نویسی سی شارپ
حلقهٔ فور یک دستور کنترل جریان است به خصوص زمانی وجود دارد که بخشی از کدها باید به صورت تکرار تا زمان معین اجرا شوند.
در چنین مواردی می توانیم از حلقه for در زبان سی شارپ استفاده کنیم.
ساختار کلی حلقه for به صورت زیر می باشد:
for(Variable ; Condition ; step;)
{
body code
}
یک حلقه for دو بخش دارد: عنوان تکرار "for" و متنی که یک بار در هر تکرار اجرا می شود.
عنوان معمولاً شمارنده حلقه یا متغیر حلقه را توصیف می کند که به بدنه کد اجازه می دهد بفهمد کدام تکرار در حال انجام است.
حلقههای For زمانی استفاده میشوند که تعداد تکرارهای حلقه قبل از ورود به حلقه مشخص باشد.
مقدار دهی متغییر (Variable ) : در این قسمت ما یک متغییر با نام دلخواه تعریف و مقدار اولیه بهش اختصاص می دهیم.
شرط (Condition ) : این قسمت یک عبارت بولین هست که درست یا نادرست بودن ادامه حلقه رو به ما گزارش میدهد.
گام یا شمارنده (step) : در این بخش برای حلقه افزایش دهنده یا کاهنده قرار میگرد. در واقع شمارنده حلقه ، یک واحد متغییر را افزایش یا کاهش داده تا بررسی شرط حلقه صورت گیرد.
به مثال ساده ای که برای شما میزنم توجه کنید.
public class Program
{
public static void Main()
{
for (int i = 0; i < 3; i++)
{
Console.WriteLine("zoheirsoftware of i: {0}", i);
}
}
}
در کد بالا
متغییر برابر است با (int i = 0)
شرط برابر است با (i < 3) یعنی برای ادامه دادن حلقه متغییر i بایستی کوچکتر از 3 باشد.
شمارنده برابر است با (++i) یعنی یک واحد به متغییر افزایش بده.
خروجی برابر است با
zoheirsoftware of i: 0
zoheirsoftware of i: 1
zoheirsoftware of i: 2
حلقه های بی نهایت for
اگر در حلقه ها مقدار دهی اولیه و شرط و شمارنده گذاشته نشود این حلقه تبدیل به یک حلقه بی نهایت میشود.
مثالی از حلقه بی نهایت:
for (; ; )
{
Console.WriteLine("zoheirsoftware of i: {0}", i);
}
این حلقه بی نهایت بار اجرا می شود.
آشنایی با حلقه های تودرتو for
حلقههای تکرار تو در تو (Nested loop): در هر ساختار تکرار میتوانیم تعدادی دستور را اجرا کنیم،
ساختار کلی حلقه های تو در تو
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < i; i++)
{
Console.WriteLine("zoheirsoftware of i: {0}", i);
}
}
موارد کاربرد حلقه for
- حلقه for برای کارهای تکراری در مدت زمان مشخص
- گرفتن لیست داده ها
- پر کردن داده در لیست
- گرفتن داده های آرایه ها
- نمایش لیست داده ها در جدول (شامل جدول Html) برنامه نویسی تحت وب
- نمایش لیست داده در دیتا گرید ویو ها (برنامه نویسی تحت ویندوز)
مثال های کاربردی حلقه for در نرم افزارهای تجاری
مثال یک : ابتدا یک کلاس به نام ShowAllnews تعریف کرده و سپس داده را از دیتابیس واکشی میکنیم ، سپس با ساتفاده از حلقه for در لیست showAllnews مقدار دهی میکنیم.
public class ShowAllnews
{
public string Title { get; set; }
public string Abstract { get; set; }
}
var List = db.Posts.ToList();
List<ShowAllnews> showAllnews = new List<ShowAllnews>();
if (List.Count != 0)
{
int RowCount = List.Count;
for (int I = 0; I <= List.Count - 1; I++)
{
ShowAllnews show = new ShowAllnews
{
Title = List[I].Title,
Abstract = List[I].Abstract,
};
showAllnews.Add(show);
}
}
مثال دوم : گرفتن لیست داده آرایه ها ، این آرایه شامل شماره موبایل های مدیران می باشد. این دستور برای ارسال پیامک بعد از سفارش محصولات برای مدیران به کار می رود.
string[] Listmoblile = { "09368141864", "09368141864", "091111111" };
string messageadmin = "مدیر محترم سفارش (1414)، تکمیل شده است. نرم افزار زهیر" ;
for (int i = 0; i > Listmoblile.Length; i++)
{
if (Listmoblile[i] != null & Listmoblile[i].Length == 11)
{
//--------------ارسال پیامک
string message = messageadmin;
string Mobile = Listmoblile[i];
SendSms(message, Mobile);
}
}
مثال سوم : ابتدا لیست پست ها یک وب سایت رو دریافت میکنیم و بعد دیتا گریدویو یک نرم افزار تحت ویندوز را پر میکنیم.
var List =db.Posts.ToList();
dgvShowAllnews.Rows.Clear();
if (List.Count != 0)
{
dgvShowAllnews.RowCount = List.Count;
for (int I = 0; I <= List.Count - 1; I++)
{
dgvShowAllnews.Rows[I].Cells["Title"].Value = List[I].Title;
dgvShowAllnews.Rows[I].Cells["Abstract"].Value = List[I].Abstract;
dgvShowAllnews.Rows[I].Cells["MetaTitle"].Value = List[I].MetaTitle;
dgvShowAllnews.Rows[I].Cells["ImageName"].Value = List[I].ImageName;
dgvShowAllnews.Rows[I].Cells["Description"].Value = List[I].Description;
dgvShowAllnews.Rows[I].Cells["attachment"].Value = result[I].attachmentFileName;
}
}
مثال چهارم : ابتدا لیست پست ها یک وب سایت رو دریافت میکنیم و بعد جدول یک نرم افزار تحت وب را پر میکنیم.
<div class="table-responsive">
<table id="myTable" class="table table-bordered table-striped">
<thead>
<tr>
<th class="text-center colorblueDarga">عنوان</th>
<th class="text-center colorblueDarga">شرح </th>
<th class="text-center colorblueDarga">وضعیت </th>
<th class="text-center colorblueDarga">عملیات</th>
</tr>
</thead>
<tbody id="DataSearching">
@for (int I = 0; I <= item.Count - 1; I++)
{
<tr>
<td class="text-center">@item[I].Title</td>
<td class="text-center">@item[I].description</td>
<td class="text-center">
@if (item[I].IsEnable == true)
{
<span class="text-center text-info">فعال</span>
}
else
{
<span class="text-center text-danger">غیر فعال</span>
}
</td>
<td class="text-center">
<a class="cursor-pointer" href="#">
<i class="fa fa-university text-primary" title="ویرایش"></i>
</a>
</td>
</tr>
}
</tbody>
</table>
</div>
دوره های مرتبط
آموزش برنامه نویسی سی شارپ
زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.