RSS



آموزش سي شارپ - قسمت پنجم

گفتيم كه ValueType ها داراي رفتار خاصي هستند. اما چه رفتاري؟
وقتی یک متغییر از یکی از نوع های Value Type مثل int ایجاد می کنیم مقدار آن داخل حافظه Stack قرار می گیرد و وقتی از آن متغییر یک کپی میگیریم مقدار متغییر قبلی داخل متغییر جدید کپی می شود.
یعنی اگر مقدار متغییر دوم رو عوض کنیم تاثیری روی مقدار متغییر اول نخواهد گذاشت. این رفتار در مورد تمامی ValueType ها صدق می نماید:
كپي گيري از يك متغيير ValueType در دات نت
وقتي مقدار متغيير دوم رو تغيير دهيم مقدار متغيير اول دست نخورده باقي ماند.
تغيير متغيير كپي گرفته شده در سي شارپ دات نت

Enumerations
فرض بفرمائيد كه شما مي خواهيد يك كلاس تعريف كنيد به نام انسان. وقتي خواص انسان رو تحت بررسي دارين به جنسيت مي رسيد. حالا مي خواهيم روي كلاس انسان يك متغيير براي نشان دادن جنسيت تعريف كنيم. به نظر شما جنسيت رو از چه نوعي بايد در نظر گرفت؟ bool يا int؟
اگر bool در نظر گرفتيم false به معني مرد خواهد بود يا true؟
اگر int در نظر گرفتيم چه عددي بيانگر مرد و چه عددي بيانگر زن مي باشد؟ و اگر كاربر شما عددي به غير اعداد انتخابي شما وارد كرد, چه طور؟

گاهي اوقات در توسعه نرم افزار ها ما به جنس (Type)هايي نياز داريم كه بتوانيم مقدار شان را محدود كنيم. مثلا همين جنسيت. با استفاده از Enumeration ها مي توانيم مقدار متغيير جنسيت رو به مرد يا زن محدود كنيم.

براي ايجاد يك Enumeration بايد در يك فايل با پسوند cs كه بيانگر سي شارپ است از Syntax زير استفاده كنيم:

public enum eSex
{
  Male,
  Female
}

دقت كنين كه وقتي متغييري از اين جنس بسازيم به هيجوجه مقداري به غير از مرد يا زن نمي توانيم اختصاص دهيم:

eSex Sex; // ايجاد متغيير از جنس يك enum
Sex = eSex.Male; // مقدار دهي متغيير

حالا مي بينيم كه چطور با استفاده از enum مي توانيم مقدار دهي يك متغيير را به مقادير محدودي نسبت دهيم. در دات هم مثال هاي متعددي از استفاده از enum ها وجود دارد. مثلا يك enum به نام Keys تمامي كليد هاي صفحه كليد رو در خود جاي داده است. يا enumي با نام ConnectionState وضعيت هاي امكان پذير يك Connection رو نشان مي دهد.

ادامه دارد...

تاريخ : سه_شنبه 3 دی 1387   ساعت : 12:04:52 AM    نويسنده : مهرداد قاسمي | نظرات




منوي اصلي

معرفی تصویری شرکت  


آموزش پروژه ای C#.Net



شرکت ساینا مبتکر شیوه نوین آموزش تحت پروژه برگزار می کند

C#,ASP.Net,ADO.Net,SQL Server
66494685-66405702 : تلفن

لینک روزانه


 اولین وسایل الکترونیکی ساخته شده در دنیا (555)
 Dropbox با ۲۵ میلیون کاربر و دویست میلیون اشتراک فایل روزانه (756)
 امکان جدید گوگل : استفاده از تصاویر اختصاصی در ساخت تم جی میل (697)
 مجموعه طراحی های استاد مرتضی کاتوزیان (1036)
 خلاقیت در طراحی سی دی (1089)
  آشنایی با ۲۲ برنامه ضروری تحت ویندوز برای طراحان وب  (1482)
 آموزش دکمه های جهانی برای وب سایت شما در فتوشاپ  (1300)
 ارسال فایل بدون اینترنت  (1188)
 25 ترفند حرفه ای فتوشاپ (1138)
 چت رایگان با ایرانسل (1429)
  ادامه آرشيو لينك روزانه «

پربازدیدترین مطالب


آرشیو موضوعی


آرشیو ماهانه


لینک دوستان

     CodeProject
     CoderSource
     w3schools
     مرجع برنامه نویسی AVR


جستجو در سایت