یا صاحب الزمان

صفحه اطلاع رسانی پایگاه شهید آیت الله قدوسی

یا صاحب الزمان

صفحه اطلاع رسانی پایگاه شهید آیت الله قدوسی

دو مورد تکمیلی در مورد حلقه ها در سی شارپ :

1- هر جایی خواستید به هر دلیلی حلقه را پایان دهید می توانید از دستور break; استفاده کنید. در این حالت به صورت آنی حلقه خاتمه یافته و کدهای ادامه ی برنامه پس از حلقه اجرا می شوند.


2- نحوه ی استفاده از دستور
continue : فرض کنید حلقه ی شما در راند 15 خودش است! حالا در این راند شما می خواهید یک سری از دستورات درون حلقه اجرا نشوند و حلقه به راند بعدی منتقل شده و کارش را ادامه دهد. اینجا است که از دستور continue استفاده می شود. بهتر است به یک مثال ساده در این زمینه توجه کنیم.


مثال : یک برنامه ی سی شارپ جدید
console را در VS.NET باز کنید و نام آنرا درابتدا ex11 انتخاب نمایید. سپس کد زیر را درون آن بنویسید :

using System;

namespace ex11
{
class Class1
{
[
STAThread]
static void Main(string[]
args)
{
Console.WriteLine(
"for (
int i = 1; i <= 100; i++) -> break at i==5" );
for (
int i = 1; i <= 100; i++)
{
if (
i == 5)
break;
Console.WriteLine(i);
}
Console.ReadLine();

Console.WriteLine(
"for (
int i = 1; i <= 10; i++) -> continue if i<9" );
for (
int i = 1; i <= 10; i++)
{
if (
i < 9)
continue;
Console.WriteLine(i);
}
Console.ReadLine();

}
}
}

موارد تکمیلی مربوط به رد و بدل کردن مقادیر به/از کلاس ها :



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



ابتدا یک متغیر عمومی باید در سطح کلاس تعریف کرد تا مقدار دریافت شده توسط
set را در خود نگاه داری کند (در مورد scope متغیرها ( متغیرهای عمومی و محلی و امثال اینها) در هنگام معرفی توابع بیشتر بحث خواهد شد) . سپس از طریق کلمه ی کلیدی value مقدار دریافت شده به متغیر انتساب می یابد و چون در سطح کلاس عمومی است در تمام کلاس قابل درسترسی است.



مثال : یک برنامه ی سی شارپ جدید
console را در VS.NET باز کنید و نام آنرا درابتدا ex12 انتخاب نمایید. سپس از منوی پروژه یک کلاس جدید به آن اضافه نمایید (به نام clsDate) و کد زیر را درون آن بنویسید :

using System;

namespace ex12
{
public class
clsDate
{
private
int Year;

public
clsDate()
{
}

public
int setYear
{
set
{
Year = value;
}
}

public
bool IsLeapYear
{
get
{
return
System.DateTime.IsLeapYear(Year);
}
}


}
}

برای استفاده از آن در متد main برنامه به صورت زیر عمل می کنیم:

using System;

namespace ex12
{
class Class1
{
[
STAThread]
static void Main(string[]
args)
{
clsDate m_var = new clsDate();
m_var.setYear = 1990;

if (
m_var.IsLeapYear) Console.WriteLine("1990 is a leap year.");
else
Console.WriteLine("1990 is not a leap year.");
Console.ReadLine();
}
}
}

توضیحاتی در مورد کد فوق:



1- نحوه ی تعریف متغیر از یک کلاس جزو اساسی ترین قسمت های کار با یک کلاس محسوب می شود که در قسمت های پیشین نیز معرفی گردید.


2- هنگامی که از
if استفاده می کنیم لزومی ندارد حتما بنویسیم m_var.IsLeapYear==true . همین که این خاصیت ذکر می شود در وهله ی اول true بودن آن چک خواهد شد.


3- نحوه ی مقدار دهی به یک خاصیت را هم در کد فوق ملاحظه می نمایید. در هنگام استفاده از خاصیت ها نیازی به آوردن پرانتزها () در مقابل نام آنها وجود ندارد.


4- برای مرور ، نحوه ی معرفی خاصیت ها با
get نیز بیان گردید. با استفاده از set و get می توان به کلاس ها ، مقادیر متغیرها را پاس کرد و یا مقداری را دریافت نمود.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد