مشخصات مقاله
-
5435
-
0.0
-
27139
-
0
-
1
آموزش انواع داده (Data Type) در سی شارپ
متغیرها (Variables) یا منبع ذخیره سازی
کامپیوتر یک وسیله ی الکترونیکی است که به حل مشکل خاصی می پردازد یا وظیفه ی مشخصی را انجام می دهد. برای مثال، یک دستگاه تناسب اندام به شخص کمک می کند، هیکل خود را رو فرم نگه دارد یا یک دوربین دیجیتال از چیزهای مختلف عکس می گیرد.
وسایل الکترونیکی به منظور حل مسائل عمومی نیز به کار می روند. برای مثال، از رایانه ی شخصی برای انجام کارهای عمومی مثل محاسبات، پردازش کلمه، یا ذخیره سازی بانک های اطلاعاتی استفاده می شود.
برای انجام وظایف مختلف، کامپیوتر باید مقدارهای (value) مشخصی دریافت کند. این کار ممکن است توسط شخصی صورت بگیرد که دستوری را از صفحه کلید تایپ می کند (به عنوان مثال از دستگاه تناسب اندام، تلفن همراه، یا کامپیوتر شخصی). در برخی از موارد، مقادیر موردنظر (از داخل) الکترونیکی و از منابع مختلف به کامپیوتر داده شود.
به منظور مدیریت این ارتباطات، کامپیوتر از صفحه ی تختی به نام motherboard استفاده می کند. خیلی از بخش های کامپیوتر به این تخته ی اصلی متصل هستند و از آن دستور دریافت می کنند. بخش دیگری وجود دارد که وظیفه ی اصلی آن پردازش و انجام محاسبات است که به آن پردازش گر می گویند و به تخته ی اصلی (motherboard) وصل می باشد.
حال، مقادیری که کامپیوتر دریافت می کند باید در قسمتی به نام memory یا حافظه ذخیره شود. رایانه از دو نوع حافظه برای این منظور استفاده می کند. حافظه ی موقت و حافظه ی پایدار. از حافظه ی موقت برای ذخیره کردن اطلاعاتی استفاده می شود که حالت موقتی داشته و پس از گذشت زمان مشخصی پاک می شوند. برای مثال، حافظه ی نام برده اطلاعات را هنگامی که رایانه روشن است در خود حفظ می کند و آن را تا زمانی که کامپیوتر روشن است نگه می دارد ولی به محض خاموش شدن رایانه اطلاعات مزبور پاک می شوند.
حافظه ای که اطلاعات و مقادیر به صورت موقت در آن ذخیره می شود random access memیا y یا RAM نامیده می شود.
فرض کنید، حافظه ی کامپیوتر یک سینی کیک است متشکل از چند بخش، که هریک حامل چیزی است.
توجه داشته باشید که حافظه بزرگ تر است یک کیک است و از میلیون ها جای خالی تشکیل شده.برنامه نویس مدام به compiler دستور می دهد که مقادیر را به صورت موقتی در RAM ذخیره کند. اگرچه اندازه ی حافظه ی موقت چندان بزرگ نیست، باید به خاطر داشته باشید جای زیادی برای ذخیره ی اطلاعات لازم دارد. در واقع، این تنها برنامه ی شما نیست که از RAM استفاده می کند. برای مثال، هنگامی که رایانه ی خود را راه اندازی می کنید، سیستم عامل (windows) و دیگر برنامه ها ی آن RAM را اشغال می کنند.
هنگامی که برنامه ای را اجرا می کنید، compiler بخشی از RAM را به آن برنامه اختصاص می دهد.
به این خاطر که برنامه های زیادی از RAM استفاده می کنند، به منظور ذخیره سازی مقادیر در آن، باید اطلاعاتی در اختیار آن قرار دهید. باید مقدار حافظه ای را که به آن نیاز دارید مشخص کرده و اسم معینی برای آن قسمت خاص از حافظه که value ها در آن ذخیره می شود انتخاب کنید. به ترکیبی از این اطلاعات متغیر (variable) گفته می شود.
معرفی متغیرها
- برنامه ی Microsoft Visual C# Express یا Microsoft Visual Studio را اجرا کنید.
- به منظور ایجاد برنامه ی کاربردی (app) جدید، در Start Page روی گزینه ی New Project کلیک کنید.
- در فهرست میانی، گزینه ی Empty Project را انتخاب کنید.
- اسم موردنظر را به gdcs2(ge) یاge town cleaning services تغییر دهید.
- روی ok کلیک کنید.
- به نظور ایجاد فایل ویژه ی کد مورد نظر، به main menu مراجعه کرده و project را انتخاب کنید.
- از لیست میانی code file را انتخاب کنید.
- اسم نام برده را به cleaning یا der تغییر دهید.
- روی گزینه ی Add کلیک کنید.
- در داکیومنت خالی دستورات زیر را تایپ کنید.
class Order
{
static void Main(string[] args)
{
System.Console.WriteLine("Georgetown Dry Cleaning Services");
System.Console.ReadKey();
}
}
اسم ها
متغیرها باید اسم مشخصی داشته باشند و برای ایجاد اسم برای آن ها باید از قوانین خاصی پیروی کرد. کلماتی وجود دارند که از آن ها نباید تحت هیچ شرایطی به عنوان اسم متغیر استفاده کرد زیرا خود برنامه کلیدواژهای مزبور را به کار می برد. این کلیدواژه ها در زیر فهرست شده.
واژه های دیگری هستند که با وجود این که جز کلیدواژه های برنامه ی C# نیستند، استفاده از آن ها به شما توصیه نمی شود. به این خاطر که به کار بردن آن ها ممکن است منجر به بروز اختلال (conflict) در کد شود. از واژه های داده شده به عنوان کلیدواژه های متنی (contextual keyw یا ds) یاد می شود.
همان طور که پیش تر ذکر شد، اسم گذاری برای هر چیزی در برنامه نویسی قوانین خاص خود را دارد.قوانین استانداردی هست که توسط C# تعریف می شوند ولی شما می توانید قوانینی را بر مبنای سلیقه ی خود نیز به وجود بیاورید. قوانینی که برای تعیین اسم متغیر باید پیروی کنید به شرح زیر می باشد.
اسم می تواند از تنها یک حرف تشکیل شود(A، B، C، D، E، F، G، H، I، J، K، L، M، N، O، P، Q، R، S، T، U، V، W، X، Y، Z، a، b، c، d، e، f، g، h، i، j، k، l، m، n، o، p، q، r، s، t، u، v، w، x، y، یا z). این حروف متعلق به الفبای انگلیسی آمریکایی می باشد، ولی زبان C# انگلیسی بین المللی را نیز می پذیرد.
در C#، اسم ممکن است از تنها یک علامت ( _ ) ساخته شود. با این وجود، توصیه می شود از این کار خودداری کنید زیرا خواندن کدی که از تنها یک _ تشکیل شده آسان نیست.
از به کار بردن این علامت ها در اسم خودداری کنید. |، !، "، /، $، %، ?، &، *، (، )، +، #، \، @، <،>، [، ]، ;، {، }
در صورتی که اسمی متشکل از بیش ازیک کاراکتر باشد، باید با حرف یا _ شروع شود.
پس از آغاز کاراکتر با _ یا حرف، اسم می تواند از ترکیبی از حروف، ارقام (0، 1، 2، 3، 4، 5، 6، 7، 8، یا 9)، و / یا _ تشکیل شود.
در اسم نمی توان از فاصله (space) استفاده کرد.
علاوه بر قوانین بالا، برنامه نویس می تواند قوانین خود را تعریف کند. ولی در تعریف همین قوانین باید محدودیت های ذکر شده در نظر گرفته شود.
اگر اسمی در تنها یک کلمه خلاصه شود، اکثر برنامه نویسان از حروف کوچک استفاده می کنند.
زمانی که اسم متغیر متشکل از چند کلمه است، بیشتر برنامه نویسان از camel notation استفاده می کنند که در آن اولین کلمه با حروف کوچک نوشته می شود و اولین حرف کلمات بعدی همگی با حروف بزرگ نوشته می شوند.
زبان C# به کوچک بزرگی حروف حساس است، یعنی کلمات case، Case و CASE با هم کامل متفاوت اند. برای مثال، main همیشه Main نوشته می شود.
مقدارها و متغیرها در کنسول
برنامه های زبان C# نتایج خود را در پنجره ی DOS به نمایش می گذارند. به مثال زیر توجه کنید.
برای نشان دادن مقدار معینی در پنجره ی فوق، می توانید آن را داخل پرانتز System.Console.Write() یاSystem.Console.WriteLine() قرار دهید. مانند دو نمونه ی زیر
class Exercise
{
static void Main()
{
System.Console.WriteLine(248);
System.Console.Write(1);
}
}
اگر داخل پرانتز System.Console.WriteLine() را خالی بگذارید، خطی تهی نمایش داده می شود.
نمایش های عددی
برنامه ی کامپیوتر عبارتند از مجموعه ای دستور که برای رایانه انجام کار مشخص، زمان اجرای آن و نحوه ی پیاده سازی آن را معین می کند. این برنامه نویس است که دستورها را می نویسد. همان طور که پیش تر نیز بیان شد، می توان دستورات مزبور را در برنامه ی text edit یا، البته بر مبنای قوانین استاندارد زبان C# ولی با زبان شناس مانند انگلیسی نوشت. برای مثال، می توان دستوری نوشت که از کامپیوتر درخواست می کند عددی را در حافظه ذخیره کند. تمام دستوراتی که می نویسید باید به کامپیوتر منتقل شود.
مستحضر هستید که اشخاص دستورهای مختلفی می نویسند. همچنین، C# تنها زبان برنامه نویسی نیست، و برنامه نویسان سرتاسر دنیا از زبان های مختلف برای دادن دستور به رایانه استفاده می کنند. کامپیوتر برای درک تمام این زبان ها و تفسیر تمام دستورهایی که از این برنامه ها ارسال می شود، از زبان مختص به خود استفاده می کند که تمام برنامه ها باید آن را بشناسند و از آن پیروی کنند. زبان های داده شده آن جور که باید از مسئله ی فوق پیروی نمی کنند. برای مثال، C# که از زبان انگلیسی استفاده می کند، دستورات خود را به برنامه ی میانجی / واسط ای به نام Assembler تحویل می دهد.assembler دستورات را به نسخه ی فشرده تر تبدیل می کند که با وجود استفاده از لغات جدید، آن هم به زبان انگلیسی می باشد. کامپیوتر دوباره نسخه ی فشرده را به ورژنی ساده تر تبدیل می کند و در اختیار رایانه قرار می دهد.
زبان ساده شده ای که کامپیوتر استفاده می کند، متشکل از ترکیبی از 1 ها و 0 ها می باشد، یعنی assembler باید دستورات c# را به 0 و 1 تبدیل کند تا کامپیوتر بتواند آن را تفسیر کرده و اجرا کند.
سیستم های عددی
با سیستم هایی که از ده رقم 0، 1، 2، 3، 4، 5، 6، 7، 8 و 9استفاده می کنند آشنایی دارید. ترکیبی از این ده عدد می تواند هر رقمی که شما دوست دارید بسازد. به این خاطر که زبان کامپیوتر از 10 رقم استفاده می کند به آن سیستم decimal یا دهگانی می گویند.
همان طور که پیش تر ذکر شد، زبان کامپیوتر از ترکیب دو مقدار 0 و1 استفاده می کند. به چنین سیستمی، سیستم دوتایی یا binary می گویند. 1، 10، 1001یا 1010110111 نمونه هایی از این سیستم می باشند. هر مقداری که به کامپیوتر داده می شود باید ترکیبی از 0 و 1 ها تبدیل شود.
همان طور که تصور می کنید نمایش دادن یک رقم بزرگ کار بسیار دشواری است. یک روش برای این منظور، از 10عدد سیستم دهگانی و 6 حرف از الفبای انگلیسی استفاده می کند. A، B، C، E، D، و F یا a، b، c، d، e و f. به این معنا که سیستم فوق از 16 کاراکتر برای ایجاد یک رقم استفاده می کند. به همین دلیل است که به آن سیستم hexadecimal یا مبنای 16می گویند. برای این که فرایند تشخیص یک رقم مبنای 16 از کلمه سهل شود، رقم داده شده باید با 0x آغاز شود.نمونه های آن به این صورت است. 0x2، 0xED8، 0x962AAED3.
علامت دار و بدون علامت
یک از ویژه گی های رقم این است که مشخص می کند آیا از 0 کوچکتر است، با آن برابر است یا از آن بزرگتر است. عددی که کوچکتر از صفر است منفی محسوب می شود. چنین رقمی به دنبال علامت – می آید. چنانچه، عددی از صفر بزرگتر بود مثبت تلقی می گردد. چنین رقمی به دنبال علامت + می آید. به ارقامی که یکی از این دو علامت را به یدک می کشند signed یا علامت دار می گویند. هر عددی هم که هیچ یک از این دو علامت را نداشته باشد unsigned یا مثبت اتلاق می گردد. برای مثال، عدد 0 بدون علامت یا unsigned است.
تعریف متغیرها - Representing Mem یا Bits
همان طور که پیش تر ذکر شد، برای ذخیره سازی مقدار (value) معینی در حافظه ابتدا باید مقدار حافظه ی مورد نیاز را مشخص کنید، سپس باید برای آن اسم انتخاب کنید. مقدار حافظه ی مورد نیاز را data type (نوع داده) می گویند. مقدارهای متفاوت، مقدار حافظه ی متفاوت می طلبد. این را هم گفتیم که رایانه مقدار را 0 و 1 می بیند. آن قسمت حافظه که تنها یک 0 یا 1 در خود جای می دهد bit خوانده می شود.
تصور کنید که bit یک شئ تهی است که می تواند خالی یا پر باشد.
هنگامی که آن شی خالی است، bit مقدار 0 را نشان می دهد و زمانی که پر است، مقدار 1.
تعریف متغیر
با به کاربردن ترکیبی از bit ها، به compiler پیغام می دهید که به متغیر نیاز دارید. از چنین فرایندی به عنوان (declaring a variable) تعریف متغیر یاد می شود. همان طور که قبل توضیح داده شد، مقدار حافظه ای که به آن نیاز دارید data type گفته می شود. بنابراین، هنگام تعریف متغیرباید نوع داده ی (data type) دلخواه را مشخص کنید. در C#، نوع داده (data type) با یک کلیدواژه نمایش داده می شود.
برای تعریف متغیر دو راه پیش رو دارید.
· اگر نوع مقداری که مایلید در حافظه ذخیره شود را می دانید، از فرمول زیر پیروی کنید.
DataType VariableName;
اگر نمی خواهید نوع مقدار را مشخص کنید، گزینه های دیگری برای شما فراهم است.
می توانید از کلید واژه ی var استفاده کنید.
می توانید کلید واژه ی object را به کار ببرید.
می توان از کلیدواژه ی dynamic نیز استفاده کرد.
مقدار دهی اولیه ی متغیر
همان طور که از اسم آن پیدا است، مقدار دهی اولیه عبارتند از ذخیره سازی مقدار اولیه در جای (مشخص آن. (بیش تعریف شده به منظور اختصاص دادن متغیر.
نوع داده، به دنبال آن اسم متغیر، علامت =، مقدار دلخواه ولی مناسب را تایپ کنید.
class Exercise
{
static void Main()
{
DataType VariableName = DesiredValue;
}
}
با این روش، شما می توانید متغیر را در ابتدای کار با مشخص کردن اسم و نوع داده تعریف کنید و در انتهای آن علامت نقطه ویرگول قرار دهید. سپس، در خطی دیگر، اسم متغیر را تایپ کرده و به دنبال آن علامت =، و مقدار مورد نظر را وارد کنید.
class Exercise
{
static void Main()
{
DataType VariableName;
VariableName = DesiredValue;
}
}
ابتدا کلیدواژه ی var را تایپ کرده و به دنبال آن، اسم متغیر، علامت = و مقدار معین را درج کنید.
class Exercise
{
static void Main()
{
var VariableName = DesiredValue;
}
}
این بار باید تمام مراحل را یکجا انجام دهید. در این مورد، نمی توان ابتدا اسم متغیر را با قرار دادن var و نقطه ویرگول (;) تعریف کرده و بعد (در خطی دیگر) مقدار دهی اولیه متغیر را انجام دهید. با این کار، پیغام خطا دریافت می کنید.
class Exercise
{
static void Main()
{
var VariableName;
VariableName = DesiredValue;// Error
}
}
دو گزینه ی پیش روی دیگر نیز، استفاده از کلیدواژه های object یا dynamic می باشد. پس از تعریف و مقدار دهی اولیه ی متغیر، compiler مقدار آن متغیر را حافظه ای که برای آن اختصاص یافته ذخیره می شود. حال، می توان به آن مقدار دسترسی پیدا کرد و در صورت نیاز آن را تغییر داد.
مقدار تهی (null value)
می توان با اضافه کردن علامت سوال (؟) به نوع داده (data type) متغیر موردنظر، متغیر را طوری تعریف کنید که مقدار تهی (null value) داشته باشد. برای این منظور زبان C# کلیدواژه ی null را در اختیار شما قرار می دهد. می توان هنگام تعریف متغیر، مقدار null را به آن اختصاص داد.
class Exercise
{
static void Main()
{
DataType? VariableName= null;
// You can use the variable
}
}
همچنین می توان این مقدار را پس از تعریف متغیر اختصاص داد.
class Exercise
{
static void Main()
{
DataType? VariableName;
VariableName= null;
// You can use the variable
}
}
آنچه اهمیت دارد آن است که مقدار پیش از به کاربردن متغیر به آن اختصاص داده شود.
Byte - ترکیبی از چهار bit
اگرچه یک bit قابل دسترس و استفاده است، باید به خاطر داشت که نمی توان در آن مقدار ذخیره کرد به این معنا که نمی توان از compiler خواست که مقدار 1 را در یک bit ذخیره کند. این امر به این خاطر است که، حتی کوچکترین مقدار C# نیز به بیش از یک bit برای ذخیره شدن نیاز دارد. ترکیبی کوچکتر از چهار bit وجود ندارد (در برخی زبان ها یا پیاده سازی زبان assembly به ترکیب چهار bit، nibble گفته می شود). با ایجاد ترکیبات چهارتایی از پر (1) و تهی (0)، همگی 16 ترکیب به دست می آید. در این ترکیبات چهارتایی، bitها 0، 1، 2 و 3 شمرده می شوند. bit ای که در راست ترین کناره یا موقعیت قرار دارد (0)، bit رده پایین خوانده می شود (LOBIT). آخرین bit یا bit ای که در چپ ترین موقعیت قرار دارد (3)، bitرده بالا خوانده می شود (HIBIT). اگر بخواهیم ترکیبات چهار bit ای را با سیستم دودویی (binary) نمایش دهیم به این نتایج دست می یابیم 0000، 0001، 0010، 0011، 0100، 0101، 0110، 0111، 1000، 1001، 1010، 1011، 1100، 1101، 1110، 1111، که همگی 16 ترکیب به دست می آید. با فرمت دهدهی (decimal) ترکیبات بالا این نتایج را به دست می دهد : 0، 1، 2، 3، 4، 5، 6، 7، 8، 9، 10، 11، 12، 13، 14، و 15. حال، با فرمت hexadecimal (مبنای 16)
جدول تبدیل عددی
حداقل و حداکثر مقدارها در ترکیب چهار bit ای به این صورت است.
البته، باید در نظر داشته باشید که با ترکیبات چهارتایی هیچ کاری نمی توان کرد. زیرا ترکیبات بیان شده بسیار کوچک هستند و گنجایش ذخیره هیچ چیز را ندارد. به دو دلیل درباره ی آن بحث کردیم : اول اینکه، باید بدانید که عدد 16 از کجا سر رشته می گیرد. دوم اینکه، پیش زمینه ی معرفی byte را فراهم آورد.
ترکیب 8 bit
یک byte ترکیبی از 8 bit است که کنار هم قرار گرفته. اولین bit ای که در راست ترین قسمت قرار گرفته ) 0 و آخرین bit 7می باشد.
0 کم اهمیت ترین bit است که به آن LOBIT نیز می گویند. 7 مهم ترین bit محسوب می شود و نام دیگر آن HIBIT است. ترکیبات 8 تایی با سیستم binary: 00000000، 00000001، 00000010، 00000011، 00000100، 00000101، 00000110، 00000111، 00001000، 00001001، 00001010، 00001011، 00001100، 00001101، 00001110، 00001111 تا 11111111. نمایش دادن یک عدد بزرگ با فرمت دودویی، خواندن آن را سخت می کند. روش مناسب تر، دسته بندی آن ها در گروه های چهارتایی است به این صورت 01001011 = 0100 1011 به منظور ارزیابی تعداد ترکیبات در فرمت دهدهی (decimal)، عدد 2 ( که نشانگر decimal است)، را به توان bit موردنظر (0، 1، 2، 3، 4، 5، 6، 7) برده، سپس عدد را اضافه می کنیم به این صورت
27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255بنابراین، 255 ترکیب احتمالی 8 bit ای داریم. ترکیبات بالا را می توان با فرمت hexadecimal نیز حساب کرد : 0x1،0x2،...، 0xA، 0xA1،...، 0xC8،...، up to 0xFFFF
محاسبات در سه سیستم عددی مختلف
حداقل مقدار حافظه اختصاص داده شده (توسط intel computer) به منظور ذخیره سازی byte می باشد. همان طور که مستحضر هستید، یک byte متشکل از 8 bit متوالی و کنارهم قرار گرفته است. مقدار حافظه ای که به اندازه ی یک byte در اختیار شما قرار داده می شود، تنها گنجایش ذخیره کردن یک نشانه (که بر روی صفحه کلید درج شده است) را دارد. این نشانه ها، که به آن ها کاراکتر هم گفته می شود، توسط ASCII، کد استاندارد آمریکایی به منظور تبادل اطلاعات تعبیه شده اند. اما باید در نظر داشت که ASCII از تنها 128 عدد decimal ( بر مبنای فرمت 7 bit ای ) استفاده می کند (از 0 تا 127). کلیه ی کاراکترهایی که در صفحه کلید مشاهده می کنید، به عنوان یک مقدار عددی نمایش داده می شود، اما هریک از این نشانه ها چه عدد، چه حرف و چه علامت همگی کاراکتر محسوب می شوند. برای نمایش دادن هر کاراکتری در صفحه ی نمایش، می توان آن را با Write() یا WriteLine()، ارسال کرد (pass) و کاراکتر مورد نظر را در علامت (' ') قرار داد.
class Exercise
{
static void Main()
{
System.Console.WriteLine('n');
}
}
فایل موردنظر با نام Exercise.cs در فولدر Variables در درایو C:\ ذخیره گشت. پس از ترجمه (compile) و اجرا شدن، حرف n در صفحه نمایش داده می شود.

کاراکترها
در الفبای زبان انگلیسی، حرف به یکی از نشانه های زیر گفته می شود : a، b، c، d، e، f، g، h، i، j، k، l، m، n، o، p، q، r، s، t، u، v، w، x، y، z، A، B، C، D، E، F، G، H، I، J، K، L، M، N، O، P، Q، R، S، T، U، V، W، X، Yو Z. جدا از این کاراکترهای خوانا، به علامت های ذیل نیز رقم (digit) می گویند : 0، 1، 2، 3، 4، 5، 6، 7، 8، 9. علامت های دیگری وجود دارند که به آن ها نیزکاراکتر می گویند : ` ~ ! @ # $ % ^ & * ( ) - _ = + [ { ] } \ | ; : ' < ?. / ، > ".
زبان C# هر چیزی را که بتوان به صورت نشانه ای به نمایش گذاشت را یک کاراکتر به حساب می آورد. به منظور تعریف متغیری که مقدارش یک کاراکتر می باشد، می توان از کلیدواژه ی var استفاده کرد و متغیر را با کاراکتری درون علامت ' ' مقدار دهی اولیه (initialize) کرد. به مثال زیر توجه کنید.
class Exercise
{
static void Main()
{
var gender = 'F';
System.Console.Write("Student Gender: ");
System.Console.WriteLine(gender);
}
}
نتیجه ی زیر حاصل می گردد.
همچنین، می توان از کلیدواژه ی char استفاده کرد. توجه خود را به مثال زیر جلب کنید.
class Exercise
{
static void Main()
{
char gender = 'M';
System.Console.Write("Student Gender: ");
System.Console.WriteLine(gender);
System.Console.ReadKey();
}
}
توجه:
تمام زبان هایی که بر مبنای C فعالیت می کنند نوع داده ی char را پشتیبانی می کنند.
نتیجه ی زیر به دست می آید.
Student Gender: M Escape Sequence
Escape sequence کاراکتری ویژه است که در صفحه نمایش قابل رویت نمی باشد. برای نمونه می توان از این کاراکتر برای شروع نوشتن دستور در خط بعدی استفاده کرد (به برنامه فهماند که این خط به اتمام رسیده و خط دیگری باید شروع شود). کاراکتر مزبور با این علامت / نشان داده می شود که به دنبال آن ممکن است یک کاراکتر یا نشانه ی دیگر قرار گیرد. برای مثال، escape sequence ای که در خط بعدی قرار می گیرد به این صورت نمایش داده می شود : \n
کاراکتر escape sequence ممکن است داخل ' ' قرار داده شود : '\n'. هم چنین این کاراکتر را می توان داخل " ". قرار داد : "\n".
توجه:
تمام زبان هایی که مبنای آن C هست، این کاراکتر ها را پشتیبانی می کنند.
برای استفاده از Escape sequence، همچنین می توان یک متغیر char معرفی کرده، آن را با کاراکتر escape sequence دلخواه مقداردهی اولیه کرد، سپس داخل ' ' قرار داد.
نوع داده ی Byte
یک byte عددی بی علامت (unsigned number) است که مقدار آن از 0 تا 255 متغیر می باشد، به این خاطر هیچ چیز در یک byte قابلیت ذخیره شدن ندارد. برای معرفی متغیری که دربردارنده ی یک عدد طبیعی کوچک است، می توان از کلیدواژه ی byte استفاده کرد مانند مثال زیر
byte Age
می توان متغیر byte را در حین معرفی متغیر یا پس از انجام فرایند (معرفی) مقدار دهی اولیه کرد. مثال زیر نوع داده ی byte را به کاربرده.
class Exercise
{
static void Main()
{
byte age = 14;
System.Console.Write("Student Age: ");
System.Console.WriteLine(age);
age = 12;
System.Console.Write("Student Age: ");
System.Console.WriteLine(age);
}
}
که محصول زیر را به دست می دهد.
به هیچ وجه از مقداری بالای 255 برای متغیر byte استفاده نکنید، زیرا در آن صورت error دریافت می کنید. همچنین، می توان از کلیدواژه ی var برای معرفی متغیر استفاده کرد، سپس آن را با عددی کوچک مقداردهی اولیه کرد. به این مثال توجه کنید.
class Exercise
{
static void Main()
{
var age = 14;
System.Console.Write("Student Age: ");
System.Console.WriteLine(age);
age = 12;
System.Console.Write("Student Age: ");
System.Console.WriteLine(age);
System.Console.ReadKey();
}
}
به جای عدد دهدهی (decimal number)، می توان متغیر انتگرال را با مقدار hexadecimal (مبنای16) مقداردهی اولیه کرد. ابتدا، اطمینان کسب کنید که معادل دهدهی (decimal equivalent) از مقدار 255 پایین تر است. به مثال زیر توجه کنید.
class Exercise
{
static void Main()
{
var number = 0xFE;
System.Console.Write("Number: ");
System.Console.WriteLine(number);
System.Console.ReadKey();
}
}
نتیجه ی زیر حاصل می گردد.
Number: 254 Press any key to continue...
استفاده کردن از Byte
فایل Program.cs را به این صورت تغییر دهید.
class Order
{
static void Main()
{
byte? shirts = null;
byte? pants = null;
shirts = 4;
pants = 1;
System.Console.WriteLine("-/- Georgetown Cleaning Services -/-");
System.Console.WriteLine("========================");
System.Console.WriteLine("Item Type Qty");
System.Console.WriteLine("------------------------");
System.Console.Write("Shirts ");
System.Console.WriteLine(shirts);
System.Console.Write("Pants ");
System.Console.WriteLine(pants);
System.Console.WriteLine("========================");
System.Console.ReadKey();
}
}
به منظور اجرای برنامه به main menu مراجعه کرده، سپس گزینه ی Debug -> Start Debugging را انتخاب کنید. محصول زیر به دست می آید.
-/- Georgetown Cleaning Services -/- ======================== Item Type Qty ------------------------ Shirts 4 Pants 1 ========================
حال، برای بستن پنجره ی DOS دکمه ی Enter را فشار دهید.
Byte علامت دار
یک عددِ byte، زمانی علامت دار معرفی می شود که بتواند مقداری مثبت یا منفی از 128- تا 127 را در خود نگه دارد، این مقدار در یک byte ذخیره می شود. به منظور معرفی متغیری برای مقدار گفته شده، از کلیدواژه ی sbyte استفاده کنید. نمونه ی آن را در زیر مشاهده می کنید.
class Exercise
{
static void Main()
{
sbyte roomTemperature = -88;
System.Console.Write("When we entered، the room temperature was ");
System.Console.WriteLine(roomTemperature);
}
}
که نتیجه ی زیر از آن به دست می آید.
When we entered، the room temperature was -88
واژه (Word)
یک واژه متشکل از 16 bit متوالی است. bit ها از راست به چپ شمرده می شوند (از 0).
راست ترین bit یک واژه 0 می باشد که به آن کم اهمیت ترین bit یا bit سطح پایین و یا LOBIT می گویند. چپ ترین bit، 15، مهم ترین bit یا bit سطح بالا و یا HIBIT خوانده می شود. bit های دیگر بسته به موقعیتی که در آن قرار گرفته اند تعریف می شوند : 1، 2، 3 و غیره. نظر به این که یک واژه از دو byte تشکیل شده، گروه 8 bit سمت راست همان LOBYTE خوانده می شود و دیگر گروه 8 bit ای که در سمت چپ قرار می گیرد HIBYTE نام دارد. نمایش یک واژه با فرمت (قالب) دودویی (binary) به این صورت است : 0000000000000000. برای خواناتر کردن آن، می توان bit ها را در گروه های چهارتایی قرار داد به این صورت : 0000 0000 0000 0000. بنابراین، کمترین مقدار دودویی که واژه قادر به نمایش دادن آن است به این شکل خواهد بود : 0000 0000 0000 0000. کمترین مقدار دهدهی (decimal) یک واژه معادل 0 می باشد. کمترین مقدار مبنای 16 (hexadecimal) که می توان در یک واژه ذخیره کرد برابر با 0x0000000000000000 می باشد که البته به این اشکال نیز نمایش داده می شود : 0x00000000 یا 0x0000 و یا 0x0. تمام این ارقام یک مقدار را به دست می دهند و آن 0x0 است. حداکثر مقدار دودویی (binary ) که یک واژه می تواند نشان دهد معادل : 1111 1111 1111 1111 می باشد. برای به دست آوردن حداکثر مقدار دهدهی (decimal) یک واژه ، می توانید از فرمول پایه 2 استفاده کنید و به جای هر bit عدد 1 را قرار دهید.
1*215 + 1*214 + 1*213 + 1*212 + 1*211 + 1*210 + 1*29 + 1*28 + 1*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20 = 32768 + 16384 + 8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 65535
برای به دست آوردن حداکثر مقدار یا رقم مبنای 16 (hexadecimal) که در یک واژه قابلیت ذخیره شدن را داشته باشد، تمام گروه های 4 bit ای را با f یا F جایگزین کنید.
short integers
یک واژه (word)، که متشکل از 16 bit همجوار یا 2 byte می باشد، می تواند یک عدد طبیعی (natural number) را در خود جای دهد. همان طور که قبلاً ذکر شد، بیشترین مقدار عددی (numeric value) که در یک واژه می توان ذخیره کرد 65535 است. به منظور تعریف متغیری برای این مقدار، می توان کلیدواژه ی var را به کاربرد و متغیر نام برده را با مقداری از -32768 تا 32767 مقداردهی اولیه کرد. به مثال زیر توجه کنید.
class Exercise
{
static void Main()
{
var schoolEffective = 1400; // Number of Students
System.Console.Write("School Effective: ");
System.Console.WriteLine(schoolEffective);
}
}
نتیجه ی زیر حاصل می گردد.
School Effective: 1400 Press any key to continue...(به این خاطر که byte تنها گنجایش کاراکترها و ارقام کوچک را دارد)، هر زمان قصد داشتید عددی را در برنامه ی خود به کار ببرید، توجه داشته باشید که کوچکترین نمودی که می توان به کاربرد واژه است. عدد طبیعی (natural number) را integer نیز می گویند. کوچکترین (integer) را تنها با کمک کلیدواژه ی short می توان در یک واژه ذخیره کرد. به دلیل این که integer short به صورت پیش فرض علامت دار می باشد، می تواند مقداری که از -32768 تا 32767 متغیر است را در خود ذخیره کند. در زیر نمونه ی برنامه ای که دو integer short را به کار می برد مشاهده می کنید.
class Exercise
{
static void Main()
{
short numberOfPages;
short temperature;
numberOfPages = 842;
temperature = -1544;
System.Console.Write("Number of Pages of the book: ");
System.Console.WriteLine(numberOfPages);
System.Console.Write("Temperature to reach during the experiment: ");
System.Console.Write(temperature);
System.Console.WriteLine(" degrees\n");
}
}
نتیجه ی زیر به دست می آید.
Number of Pages of the book: 842 Temperature to reach during the experiment: -1544 degrees(به دلیل این که short integer ها می توانند ارقام (number) بزرگتر از byte علامت دار را در خود جای دهند)، هر مقداری که برای byte علامت دار تعریف می کنید را می توان برای متغیر short هم تعریف کرد.
Short integer های بدون علامت
از متغیری که دربردارنده ی اعداد مثبت و نسبتاً کوچکی است با نام unsigned short integer یاد می شود. چنین متغیری را می توان با کلیدواژه های ushort یا var تعریف کرد. short integer ها ی بدون علامت می توانند اعدادی که در برد 0 تا 65535 قرار دارند را در برگیرد (به همین دلیل است که در تنها 16 bit جای می گیرند). مثال های آن را در زیر مشاهده می کنید.
class Exercise
{
static void Main()
{
// These variables must hold only positive integers
ushort numberOfTracks;
ushort musicCategory;
numberOfTracks = 16;
musicCategory = 2;
System.Console.Write("This music album contains ");
System.Console.Write(numberOfTracks);
System.Console.WriteLine(" tracks");
System.Console.Write("Music Category: ");
System.Console.Write(musicCategory);
System.Console.WriteLine();
}
}
نتیجه ی زیر به دست می آید.
This music album contains 16 tracks Music Category: 2
به کاربردن short integer های بدون علامت
برای به کاربردن short integer ها، فایل را به صورت زیر تغییر دهید.
class Order
{
static void Main()
{
byte? shirts = null;
byte? pants = null;
ushort? otherItems = null;
shirts = 4;
pants = 1;
otherItems = 3;
System.Console.WriteLine("-/- Georgetown Cleaning Services -/-");
System.Console.WriteLine("========================");
System.Console.WriteLine("Item Type Qty");
System.Console.WriteLine("------------------------");
System.Console.Write("Shirts ");
System.Console.WriteLine(shirts);
System.Console.Write("Pants ");
System.Console.WriteLine(pants);
System.Console.Write("Other Items ");
System.Console.WriteLine(otherItems);
System.Console.WriteLine("========================");
System.Console.ReadKey();
}
}
به منظور اجرای برنامه، به main menu مراجعه کرده و روی Debug -> Start Debugging کلیک کنید. نتیجه ی زیر حاصل می گردد.
-/- Georgetown Cleaning Services -/- ======================== Order Date: 7/15/2002 ------------------------ Item Type Qty ------------------------ Shirts 4 Pants 1 Other Items 3 ========================کلید Enter را بزنید تا پنجره ی DOS بسته شود. حال، محیط برنامه نویسی را نیز ببندید. هنگامی که از شما پرسیده شد، می خواهید SAVE کنید یا نه، NO را بزنید.