آموزش سیشارپ C# – بخش ۱۰
-
مقدمه
در دو بخش گذشته، ابتدا با متغیرهایی از نوع string شروع به تعریف مفهوم متغیر کردیم. در این بخش نیز در رابطه با متغیرهایی که با اعداد سروکار دارند، صحبت خواهیم کرد.
-
متغیرهای عددی
علاوه بر آنکه شما میتوانید در متغیرهای خود، رشته و یا متن ذخیره کنید، خواهید توانست که اعداد را نیز ذخیره کنید. تعداد قابل ملاحظهای متغیر برای ذخیرهی اعداد موجود میباشد، اما آنهایی را که شما با آنها سروکار خواهید داشت به ترتیب Integer (اعداد صحیح)، Double و Float (اعداد اعشاری). شاید در رابطه با تفاوت Double و Float برای شما سوالی پیش بیاید که اگر هر دو از نوع «اعداد اعشاری» هستند، پس چه تفاوتی میان آنهاست! به زودی متوجه خواهید شد …
اول از همه یک پروژه جدید را در Visual Studio شروع کنید. فراموش نکنید که پروژهی جدید – مثل همیشه – از نوع Windows Form Application باشد.
Integer ها یعنی همه اعداد! البته همه اعداد منظور اعدادی که اعشار نداشته باشند و به اصطلاح به آنها اعداد صحیح میگویند؛ همانند: ۲۵، ۱۰۰، و …
به ToolBox خود مراجعه کنید و یک Button بر روی Form خود قرار دهید و Propertyهای زیر را بر روی button خود اعمال کنید:
Name: btnIntegers
Text: Integers
Location: 110, 20
در ادامه، پس از تطبیق مشخصههای فوق، بر روی button خود دابل-کلیک (Double-Click) کنید تا وارد بخش کدنویسی شوید.
در بخشهای قبلی از آموزش به خاطر دارید که هنگامی که ما متغیری از نوع string تعریف میکردیم، مینوشتیم:
string myText;
شما برای تعریف متغیر از نوع عدد Integer نیز دقیقاً بههمین شکل عمل خواهید کرد؛ تنها بهجای استفاده از نوع string، از نوع int (کوتاهشدهی عبارت integers) استفاده خواهید کرد.
پس برای شروع، در میان براکتهای کد مربوط به button بنویسید int؛ منوی IntelliSense برای شما نمایش دادهخواهدشد.
با فشردن کلید Enter و یا Space،بگذارید که عبارت int نوشته شود و در مقابل آن، نام متغیر خود را انتخاب کنید. ما در این آموزش، این متغیر را myInteger نامگذاری خواهیمکرد. بدین شکل:
اگر به تصویر ماقبل تصویر فوق نگاه کنید، خواهید دید که جعبه زرد رنگ حاوی متنی به شرح زیر است:
Represents a 32-bit signed integer.
متغیرهای علامتدار integer را اصطلاحاً به آنها Signed میگویند. یعنی اعداد منفی مثل ۱-، ۲۵-، و …
در مقابل اعداد علامتدار، اعداد بیعلامت هستند که به آنها Un-Signed میگویند و فقط حاوی اعداد مثبت هستند.
بخشی که با 32-bit در جملهی بالا به آن اشاره میشود، به رنج شمارههایی اشاره میکند که یک متغیر Integer میتواند در خود ذخیره کنید. متغیر int قابلیت نگاه داری از اعدادی ما بین ۲۱۴۷۴۸۳۶۸۴- تا ۲۱۴۷۴۸۳۶۸۴ هستند.
برای ذخیره در متغیری که در بالا تعریف کردهایم، همانند متغیر string عمل کنید. نام متغیر را در سمت چپ بیاورید، پس از آن علامت مساوی و در مقابل آن مقدار عدد را وارد کنید. بدین شکل:
myInteger = 25;
کدهای شما بهشکل زیر خواهد بود:
خوب، کار بعدی ما نمایش دادن عدد ذخیره شده در متغیر myInteger میباشد. مثل جلسات قبل مینویسیم:
MessageBox.Show(myInteger);
خوب، برنامه خود را اجرا کنید؛ باید خطای زیر برای شما رخ دهد:
شما باید یک خط آبی رنگ زیر آخرین خط کدتان ببینید:
نشانگر موس را بر روی متغیر داخل پرانتز، یعنی myInteger ببرید، شرح خطا بهصورت زیر است:
اگر کمی انگلیسیتان خوب باشد، متوجه معنی خطا میشوید. این خطا میگوید که «نمیتوان مقدار int را به یک string تبدیل کرد.»
چرا؟! دلیلش این است که متد MessageBox.Show() مقداری را که دریافت میکند، باید فقط و فقط از نوع string باشد؛ برای اینکه مقدار عدد را به یک مقدار string تبدیل کنیم، به روش زیر عمل میکنیم:
در مقابل متغیر عددی خود، یعنی myInteger یک نقطه قرار دهید:
متد ToString را انتخاب کنید. چونکه ToString یک متد است، پس باید حواستان جمع باشد که در مقابل آن پرانتز باز-و-بسته را قرار دهید. پس خواهید داشت:
همانطور که از نام این متد مشخص است، کارش این است که یکچیزی را به string تبدیل میکند. چیزی که ما اینجا در حال تبدیل آن هستیم، یک Integer هست!
مجدداً برنامه خود را اجرا کنید؛ بر روی button ای که اضافه کردهاید، یعنی Integers کلیک کنید.
-
متغیرهای Float و Double
دو متغیر جدید Float و Double، بر خلاف متغیر Integer، قابلیت ذخیرهسازی اعداد اعشاری را نیز دارند! یعنی اعدادی مثل: ۳.۴۵، ۱۲.۰۰۴، و …
برای تعریف متغیرهای Float و Double نیز دقیقاً به همان شکلی که Integer و String را تعریف میکردیم، تعریف خواهیم کرد. یعنی:
float myFloat;
double myDouble;
تفاوتی که میان این دو وجود دارد، تنها مقداری هست که قابلیت ذخیرهسازی آن را دارند میباشد! مثلاً در float شما میتوانید به اندازه هفت رقم عدد داشته باشید، اما در double، میتوانید حداکثر تا ۱۶ رقم داشته باشید!
Float یک متغیر ۳۲ بیتی میباشد؛ اما متغیر Double یک متغیر ۶۴ بیتی است.
برای ذخیرهی یک عدد اعشاری در یک متغیر float، شکل زیر عمل میکنیم:
myFloat = 0.42F;
دقت کنید که حرف F که در انتهای عدد میآید، به سیشارپ این مفهوم را میرساند که این یک عدد Float است. اگر که این حرف را نگذارید، سیشارپ این عدد را بهعنوان double تلقی خواهد کرد.
تمرین: همانطور که در رابطه با اعداد Integer، یک button اضافه کردیم و اعداد را توسط یک MessageBox نمایش دادیم، سعی کنید که دو button دیگر با نامهای Floats و Doubles اضافه کنید و اعداد Double و Float را در آنها نمایش دهید.
جهت دریافت فایل PDF این بخش آموزشی، اینجا را کلیک کنید!
ممنون به خاطر پی دی اف ها
ممنون
مثل همیشه عالی و بینقص
ایندفعه فاصله بین ۲ جلسه بیشتر شد و کلی منتظر آموزش زیباتون موندم.
کاش روزانه آموزشهارو قرار میدادین خیلی بهتر میشد اونجوری 🙂
برای تمرین هم کل سورس برنامهی این جلسهرو میذارم که نگاهی بهش بندازین و اگه خطایی توش ملاحظه کردین تصحیح کنین تا رفع اشکال بشه 🙂
[code]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnIntegers_Click(object sender, EventArgs e)
{
int myInteger;
myInteger = 25;
MessageBox.Show(myInteger.ToString());
}
private void btnFloat_Click(object sender, EventArgs e)
{
float myFloat;
myFloat = 110.23456F;
MessageBox.Show(myFloat.ToString());
}
private void btnDouble_Click(object sender, EventArgs e)
{
double mydouble;
mydouble=120.3456789876543;
MessageBox.Show(mydouble.ToString());
}
}
}
[/code]
راستی کاش امکانات ادیتور کامنتهارو مسئولین سایت کمی بیشتر میکردن.
مثلا امکان کد کردن و نقل قول رو براش قرار میدادن. من الآن BBCode کد رو گذاشتم امیدوارم که حداقل فعال باشه امکانش و فقط دکمههاش موجود نباشن.
با سلام و تشکر
میشه نحوه گذاشتن کد به این شکلو توضیح بدین؟ شکلی که منصور گذاشته
سلام دوست عزیزم، خواهش میکنم.
ایشون فکر میکنم از تگ code (باید در دو طرف علامت های استفاده کنید.) استفاده کردند که تونسند به این شکل کدها رو نشون بدند.
موفق باشید!
سلام.
خسته نباشید .
من خیلی وقت بود دنبال یه همچین سایتی میگشتم تا آموزش های برنامه نویسی رو به طور مرتب قرار بده واقعا ازتون ممنونم زحمت میکشید.
سلام.
از زحماتی که برای تهیه آموزش ها کشیدین خیلی سپاس گذارم.
موفق باشید.
سلام
خیلی ممنون از آموزشهایی که گذاشتین واقعا عالی توضیح دادین خیلی ویژه تشکر میکنم .
سلام دوستان
من یه مدل دارم که توی سیپلکس کدش کردم
یه محدودیتی دارم که باید ماکزیمم مقدار یکی از متغیرهای تصمیم ام رو بگیرم، نمیدونم چطور باید کدش کنم.
میشه لطفا کمکم کنید؟
ممنون
با سلام و خسته نباشید
بسیار ممنون بابت این آموزش دقیق و با حوصله. به نظرم این بهترین آموزش سی شارپ روی نت است. بازم متشکرم