درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من

    تا 75 درصد تخفیف ویژه شب یلدا بر روی کلیه محصولات وب سایت توسینسو فقط تا 30 آذر

    مانده تا پایان تخفیف ها

    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      حسین احمدی
      امتیاز: 212242
      رتبه:3
      342
      253
      403
      2719
      حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 18 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید

      آموزش زبان سی شارپ - قسمت ششم :: نوع های داده اولیه

      تاریخ 49 ماه قبل
      نظرات 5
      بازدیدها 13759
      در قسمت قبلی آموزش با توضیحاتی ابتدایی، با شیوه تعریف و استفاده از متغیرها در زبان سی شارپ آشنا شدیم. در ادامه قصد داریم به بررسی انواع نوع داده (Data Types) در زبان سی شارپ بپردازیم.

      هنگام نوشتن یک برنامه سی شارپ ما به نوع های داده مختلفی برای ذخیره مقادیر مختلف نیاز داریم. این مقادیر می توانند به صورت رشته ای یا به صورت عددی باشند. در قسمت قبلی با نوع داده رشته ای یا string آشنا شدیم. در ادامه تک تک نوع های داده اولیه یا Primitive Data Types را در زبان C# بررسی خواهیم کرد.

      اما قبل از شروع ذکر یک نکته ضروری است. زبان سی شارپ یک زبان Strongly-Typed است. برای این واژه معادل فارسی مناسب پیدا نکردم، اما مفهوم آن به این شرح است، هر متغیری که شما در زبان سی شارپ تعریف می کنید، حتماً باید نوع داده آن مشخص باشد. برای مثال، در زبان Visual Basic یک نوع داده به نام Variant وجود دارد که می توان در آن هر نوع مقداری را ذخیره کرد. اما در زبان سی شارپ هر متغیری نوع مشخصی دارد. برای مثال، شما نمی تواند در یک نوع داده عددی، یک رشته را ذخیره کنید یا بالعکس.

      خوب، به ادامه مبحث متغیرها می پردازیم. همانطور که در قسمت قبل گفتیم، شیوه تعریف یک متغیر رشته ای در زبان سی شارپ به صورت زیر است:

      string website = "ITPro.ir";
      

      که بخش اول نوع متغیر، بخش دوم نام و بخش انتهایی که بعد از مساوی نوشته می شود، مقدار متغیر می باشد. در قسمت اول یا نوع متغیر، ما نوع داده مورد نظر را مشخص می کنیم. در لیست زیر هر یک از متغیرهای موجود در زبان سی شارپ بررسی شده اند:


      نوع داده رشته ای


      در بخش قبل با این نوع داده آشنا شدید. نوع داده رشته ای برای ذخیره یک رشته یا متن مورد استفاده قرار می گیرد:

      string firstName = "Hossein";
      string lastName = "Ahmadi";
      Console.WriteLine(firstName);
      Console.WriteLine(lastName);
      

      نوع های رشته را می توان با «+» به هم متصل کرد. این عملیات می تواند بر روی دو رشته، دو متغیر از نوع رشته یا یک متغیر از نوع رشته و یک رشته انجام شود:

      string firstName = "Hossein";
      string lastName = "Ahmadi";
      string fullName = firstName+" "+lastName;
      Console.WriteLine("Welcome dear " + fullName + ".");
      

      خروجی کد بالا، متن زیر خواهد بود:

      Welcome dear Hossein Ahmadi.
      


      نوع های داده عددی


      در زبان سی شارپ، چندین نوع داده عددی داریم که بر اساس نوع داده صحیح و اعشاری و بازه ذخیره سازی اعداد به شرح زیر می باشند:

      1. نوع داده byte: در این نوع داده می توان از بازه 0 تا 255 را ذخیره کرد.
      2. نوع داده sbyte: در این نوع داده می توان از بازه 128- تا 127 را ذخیره کرد.
      3. نوع داده short: در این نوع داده می توان از بازه 32،768- تا 32،767 را ذخیره کرد.
      4. نوع داده ushort: در این نوع داده می توان از بازه 0 تا 65،535 را ذخیره کرد.
      5. نوع داده int: در این نوع داده می توان از بازه 2،147،483،648- تا 2،147،483،647 را ذخیره کرد.
      6. نوع داده uint: در این نوع داده می توان از بازه 0 تا 4،294،967،295 را ذخیره کرد.
      7. نوع داده long: در این نوع داده می توان از بازه 9،223،372،036،854،775،808- تا 9،223،372،036،854،775،807 را ذخیره کرد.
      8. نوع داده ulong: در این نوع داده می توان از بازه 0 تا 18،446،744،073،709،551،615 را ذخیره کرد.
      9. نوع داده float: در این نوع داده می توان از بازه 3.402823e38- تا 3.402823e38 را ذخیره کرد.
      10. نوع داده double: در این نوع داده می توان از بازه 1.79769313486232e308- تا 1.79769313486232e308 را ذخیره کرد.
      11. نوع داده decimal: در این نوع داده می توان از بازه 79228162514264337593543950335- تا 79228162514264337593543950335 را ذخیره کرد.

      نکته: علامت s در کنار byte یعنی نوع داده sbyte، مخفف signed یا دارای علامت منفی است که نشان دهنده بازه اعداد منفی می باشد.
      نکته: علامت u در کنار نوع هایی مانند short و int و long، مخفف unsigned یا بدون علامت منفی است که این نوع های داده اعداد بزرگتر از صفر را قبول می کنند.

      برای مثال:

      int number1 = 23332345;
      decimal number2 = 458.332m;
      byte number3 = 231;
      

      در صورتی که کنار عددی کاراکتر m قرار بگیرد مانند مثال بالا، مشخص می کند که این عدد از نوع decimal است، در بخش های بعدی دلیل استفاده از این کاراکتر را متوجه خواهیم شد.

      نکته: همیشه نوع هایی که بازه شان کمتر از بازه نوع دیگر است، به طور مستقیم قابل تبدیل به هم هستند. برای مثال می توان متغیری از نوع int را داخل متغیری از نوع long ریخت، اما این برعکس این عمل امکان پذیر نیست. مثال:

      int number1 = 55312;
      long number2 = number1;
      

      کد بالا بدون مشکل اجرا خواهد شد. اما کد زیر اجرا نخواهد شد:

      long number1 = 223423;
      int number2 = number1;
      

      در صورت نیاز به این کار، باید از تبدیل نوع ها یا Type Casting استفاده کرد که در بخش های بعدی در مورد Type Casting توضیح خواهیم داد.


      نوع داده کاراکتر:


      هر رشته، مجموعه ای از کارکترها می باشد. برای مثال رشته "ABC" از کاراکترهای A و B و C تشکیل شده است. برای ذخیره یک کاراکتر در زبان سی شارپ از نوع داده char استفاده می کنیم. رشته ها در بین «"» قرار می گیرند. اما یک کاراکتر در بین «'» قرار می گیرد. برای مثال:

      char chr1 = 'A';
      char chr2 = 'B';
      

      کد بالا، دو متغیر از نوع کاراکتر تعریف کرده و یکی کاراکتر A و در دیگری کاراکتر B را قرار می دهد.


      نوع داده منطقی یا Boolean


      این نوع داده تنها دو مقدار true یا صحیح و false یا غلط را قبول می کند. بیشتر از نوع داده منطقی، جهت ذخیره نتیجه مقایسه ها و کنترل روند اجرای برنامه بر اساس شرط ها استفاده می کنند. برای مثال:

      bool var1 = false;
      bool var2 = true;
      

      کد بالا، دو متغیر تعریف کرده و در اولی مقدار false و در دومی مقدار true را ذخیره می کند. در بخش بعدی در مورد عملگر های ریاضی و عملگر های مقایسه صحبت خواهیم کرد و در آن قسمت با نحوه استفاده از نوع منطقی یا Boolean بیشتر آشنا خواهید شد.


      نوع داده شئ یا object


      نوع داده شئ یا Object، نوع داده ایست که در آن هر نوع مقداری چه رشته ای، چه عددی و چه منطقی قابل ذخیره است:

      object intObj = 123;
      object decimalObj = 235.56m;
      object stringObj = "ITPro.ir";
      

      در بالا گفتیم که زبان سی شارپ یک زبان Strongly-Typed می باشد و مثالی از نوع داده Variant در Visual Basic زدیم، اما توجه کنید که شیوه عملکرد نوع داده object با نوع داده variant متفاوت است. در بخش برنامه نویسی شئ گرا و آشنایی با مبحث وراثت با نوع داده شئ و دلیل اینکه هر نوع داده ای را قبول می کند و عملیات های boxing و unboxing بیشتر آشنا می شویم.


      استفاده از کلمه کلیدی var


      در زبان سی شارپ، همانطور که قبلاً هم گفته شد، تمامی نوع های داده باید مشخص باشند. اما بعضی وقت ها انتخاب نوع داده را بر اساس مقدار می خواهیم بر عهده زبان کامپایلر زبان سی شارپ بگذاریم. برای این کار، از کلمه کلیدی var استفاده می کنیم. با استفاده از این کلمه کلیدی، به زبان سی شارپ می گوییم، بر اساس مقداری که داخل متغیر ریخته می شود، نوع آن را خودت تشخیص بده. مثال:

      var str = "ITPro.ir";
      var num = 1223;
      var decNum = 22563.333m;
      var chr = 'A';
      

      با مقدار اولیه ریخته شده داخل متغیرها، کامپایلر نوع داده را به صورت خودکار انتخاب می کند. فقط به دو نکته زیر توجه داشته باشید:

      1. متغیرهایی که با کلمه کلیدی var تعریف می شوند حتماً باید مقدار اولیه داشته باشند.
      2. بعد از تعریف متغیری با کلمه کلیدی var، نمی توان مقداری غیر از نوع اولیه آن ریخت. برای مثال:

      var num = 1234;
      num = "This is a text!";
      

      کد بالا منجر به پیغام خطا خواهد شد، زیرا بر اساس مقدار اولیه نوع متغیر از نوع int در نظر گرفته شده و ریختن یک رشته داخل آن امکان پذیر نمی باشد.


      کلمه کلیدی const


      زمانی که شما متغیری را تعریف می کنید، در هر قسمت برنامه که به آن متغیر دسترسی دارید، می توانید مقدار آن را تغییر دهید. اما فرض کنید می خواهید این مقدار ثابت بوده و قابل تغییر نباشد. در اینجا باید از کلمه کلیدی const که مخفف constant یا ثابت می باشد استفاده کنید. زمانی که متغیری با این کلمه کلیدی مشخص می شود مقدار آن تنها زمان تعریف متغیر قابل تعیین خواهد بود و در سایر قسمت ها امکان تغییر مقدار متغیر را نخواهید داشت:

      const int MY_CONSTANT = 12;
      

      دستور بالا متغیری با مقدار ثابت 12 و با نام MY__CONSTANT تعریف می کند. زمان تعریف متغیرهای const سعی کنید از قاعده نام گذاری متغیرهای ثابت که تمام کاراکترهای آن Upper Case بوده و هر لغت بوسیله کاراکتر __ جدا می شوند استفاده کنید.

      تا این قسمت، با انواع متغیرهای اولیه و ساده زبان سی شارپ آشنا شدیم. همچنین با کلمه کلیدی const آشنا شدیم. در بخش بعدی با عملگرهای ریاضی و عملگرهای منطقی آشنا خواهیم شد. تا قسمت بعدی دوستان را به خدای بزرگ می سپارم.

      نویسنده : حسین احمدی
      منبع : جزیره برنامه نویسی وب سایت توسینسو
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
      برچسب ها
      ردیفعنوان
      1دوره آموزشی .NET Framework و زبان برنامه نویسی سی شارپ - مقدمه
      2آموزش سی شارپ - قسمت اول :: معرفی و بررسی ابزارهای مورد نیاز دوره
      3آموزش زبان سی شارپ - قسمت دوم :: آشنایی با .NET Framework و ساختار آن (بخش اول)
      4آموزش زبان سی شارپ - قسمت دوم :: آشنایی با .NET Framework و ساختار آن (بخش دوم)
      5آموزش زبان سی شارپ - قسمت سوم :: آشنایی اولیه با محیط Visual Studio و نوشتن اولین برنامه
      6آموزش زبان سی شارپ - قسمت چهارم :: آشنایی با ساختار برنامه ها و کامپایلر زبان سی شارپ
      7آموزش زبان سی شارپ - قسمت پنجم :: آشنایی با دستورات کنسول و متغیرها
      8آموزش زبان سی شارپ - قسمت ششم :: نوع های داده اولیه
      9آموزش زبان سی شارپ - قسمت هفتم :: آشنایی با عملگرهای زبان سی شارپ
      10آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش اول)
      11آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش دوم)
      12آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش سوم)
      13آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش چهارم)
      14آموزش زبان سی شارپ - قسمت نهم :: آشنایی با آرایه ها و دستور foreach
      15آموزش زبان سی شارپ - قسمت دهم :: آشنایی با متدها در زبان سی شارپ (بخش اول)
      16آموزش زبان سی شارپ - قسمت دهم :: آشنایی با متدها در زبان سی شارپ (بخش دوم)
      17آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت یازدهم :: مقدمه ای بر برنامه نویسی شئ گرا
      18آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت دوازدهم :: آشنایی با کلاس، اشیاء و فضاهای نام
      19آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت سیزدهم :: آشنایی با فیلدها و رفتارها
      20آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت چهاردهم :: آشنایی با Property ها
      21آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت پانزدهم :: آشنایی با سازنده ها و روش های ایجاد اشیاء
      22آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت شانزدهم :: وراثت یا Inheritance
      23آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت هفدهم :: آشنایی با مفهوم Polymorphism
      24آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت هجدهم:: کلاس های abstract و sealed
      25آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت نوزدهم :: سازنده ها در وراثت، کلمه کلیدی protected و فیلدهای readonly
      26آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیستم :: کلاس های static و partial و Extension Method ها
      27آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیست و یکم :: Reference Types و Value Types
      28آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیست و دوم :: آشنایی با کاربرد interface ها
      29آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیست و سوم :: آشنایی با مفاهیم Inversion of Control و Dependency Injection
      30آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و چهارم :: آشنایی با مفهوم Type Casting و انواع Cast ها
      31آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و پنجم :: آشنایی با operator overloading و تعریف cast ها
      32آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و ششم :: مفاهیم boxing و unboxing
      33آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و هفتم :: قابلیت Generics
      34آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و هشتم :: نکات تکمیلی Generic ها، کلاس List و کلاس Dictionary
      35آموزش زبان سی شارپ -قسمت بیست و نهم (پایانی): استثناء ها (Exceptions) و مدیریت خطاها در سی شارپ
      دورهمجموعه کل دوره
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      • سلام،ممنون از آموزش های خوبتون.
        میخواستم بدونم اگر کد:
        string firstName = "Hossein";
        string lastName = "Ahmadi";
        string fullName = firstName+" "+lastName;
        Console.WriteLine("Welcome dear " + fullName + ".");
        
        به صورت زیر نوشته بشه،آیا تاثیر خاصی داره و یا فقط نوع نگارش فرق میکنه و هیج تاثیری نداره؟
        string firstName = "Hossein";
        string lastName = "Ahmadi";
        string fullName = firstName+" "+lastName;
        Console.WriteLine("Welcome dear {0}. ", fullName);
        
      • شما در قسمت دوم از قابلیت string format استفاده کردید، یه فرقی نداره و اتفاقاً حالتی که شما گفتید صحیح هست. در بخش آشنایی با کلاس String به صورت کامل قابلیت String Format توضیح خواهم داد.
      • شروع کردم به خوندن مقاله هاتون. خیلی عالی به نظر میان. فعلا اومدم تشکر کنم تا بعد
      • سلام سخته نباشید یه سوال:
        این {0} چیه که در دستور چاپ اسفاده میشه؟


        )Console.WriteLine("text {0}" + variable);



      • سلام و عرض ادب، اون علامتی که شما بهش اشاره کردید در حقیقت مکانی هست که ما داخل رشته مشخص می کنیم تا با مقادیری که بعد از رشته مشخص شده جایگزین بشه. این عدد از صفر شروع میشه و می تونه تا چندین جایگاه تعریف بشه. برای مثال:

        Console.WriteLine("Your name: {0} {1}, Welcome to {2}","Hossein","Ahmadi","ITPro.ir");
        

        در نمونه کد بالا، مقادیر Hossein و Ahmadi و ITPro به ترتیب با جایگاه های 1 الی 2 داخل رشته جایگزین میشن.

      برای ارسال نظر ابتدا به سایت وارد شوید