اخبار فناوری و شبکه

اخبار فناوری و شبکه

تازه های شبکه و IT
اخبار فناوری و شبکه

اخبار فناوری و شبکه

تازه های شبکه و IT

مقدمه ای بر سی شارپ # c

C# اگرچه از C++ گرفته شده است اما یک زبان “خالص” شیء گرا (Object oriented) می باشد. هر دو زبان یاد شده جزو زبان های هیبرید محسوب می شوند اما طراحان C# این مورد را به اندازه ی C++ مهم تلقی نکرده اند. یک زبان هیبرید اجازه ی برنامه نویسی با شیوه های مختلف را میسر می کند. دلیل این که C++ هیبرید است ، این است که قرار بوده تا با زبان C سازگار باشد و همین امر سبب گردیده تا بعضی از جنبه های C++ بسیار پیچیده شوند.
زبان سی شارپ فرض اش بر این است که شما می خواهید تنها برنامه نویسی شیء گرا انجام دهید و همانند C++ مخلوطی از برنامه نویسی رویه ایی (Procedural) و شیء گرا را نمی خواهید به پایان برسانید. بنابراین باید طرز فکر خودتان را با دنیای شیء گرایی تطبیق دهید. در ادامه خواهید دید که در سی شارپ هر چیزی شیء است حتی یک برنامه ی سی شارپ.
  برنامه ی اول :
Visual studio.net را اجرا کنید و سپس در صفحه ی ظاهر شده New Project را برگزینید. حالا از گزینه ی Visual C# projects قسمت Console applications را انتخاب نمایید. نامی دلخواه همانند ex01 را وارد نموده و سپس Ok نمایید. کد زیر به صورت خودکار برای شما تولید خواهد شد:

using System; namespace ex01
{
///
/// Summary description for Class1.
///
class Class1
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
}
}
}

اگر یک سری از مفاهیم آن را متوجه نمی شوید اصلا مهم نیست! در مقالات آتی تمام این موارد مفصل توضیح داده خواهند شد.
متد استاندارد Main در این جا قسمتی است که عملیات اصلی برنامه در حالت Console ( شبیه به برنامه های تحت داس اما ۳۲ بیتی ) در آن انجام می شود.
بدون متد Main برنامه های سی شارپ قادر به اجرا نخواهند بود. نوع آن در این جا void تعریف شده است یعنی این متد خروجی ندارد. حتی اگر برنامه های استاندارد ویندوز را هم بخواهید با C# بنویسید بازهم متد Main حضور خواهد داشت ، هر چند به صورت خودکار ویژوال استودیو آن را تولید می کند.
طریقه ی نوشتن توضیحات (Comments) در سی شارپ همانند C++ می باشد یعنی :
/* any comments */


ویا
// any comments 
و تنها برنامه نویس برای نوشتن توضیحاتی در مورد کدهای خود از آن ها استفاده می کند و در خروجی برنامه ظاهر نمی شوند.
فعلا برای پایان قسمت اول از شیء Console و متد WriteLine آن برای نمایش یک جمله ی ساده استفاده می کنیم. راجع به متدها ، متغیرها و غیره در آینده بیشتر صحبت می کنیم.
در آخر برنامه ی ما چیزی شبیه به عبارت زیر می باشد:
using System; namespace ex01
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine(”Hello C#!”);
}
}
}

دکمه ی F5 را فشار دهید تا برنامه اجرا شود.
تعریف متغیرها در سی شارپ:
سی شارپ عناصری را که به کار می گیرد همانند اعداد و کاراکترها ، به صورت نوع ها (Types) طبقه بندی می کند. این انواع شامل موارد زیر می شوند :
نوع های پایه ایی از پیش تعریف شده مانند اعداد و غیره.
نوع های تعریف شده توسط کاربر که شامل STRUCT ها و ENUM ها می شوند.
نحوه ی تعریف متغیرها از نوع های پایه ایی از پیش تعریف شده :
همان طور که می دانید از متغیرها برای نگه داری اطلاعات استفاده می شود. در سی شارپ ابتدا نوع متغیر و سپس نام متغیر و در آخر یک سمی کولون بکار برده می شود. برای مثال :
int a; 
که در این جا متغیر a بعنوان یک متغیر حاوی اعداد صحیح تعریف شده است.
نکته ی مهمی که در اینجا حائز اهمیت است ، مقدار دهی اولیه ی متغیرها می باشد. در غیر این صورت کامپایلر سی شارپ برنامه را بایک خطا متوقف می کند. دلیل این امر هم این است که از استفاده از متغیرهای بدون مقدار در طول برنامه جلوگیری شود تا میزان خطاهای در حین اجرا کاهش یابد.
نوع های داده ای پایه ی زیر در در سی شارپ به صورت پیش فرض مهیا هستند:
object : نوعی است نامحدود که می تواند تمام انواع دیگر را نیز شامل شود. مثال :
object = null; 
string : رشته ؛ در این جا یک رشته توالی کاراکترهای یونیکد می باشد. مثال :
string s= “hello”; 
sbyte : نوع داده ایی صحیح ۸ بیتی علامت دار.
byte : نوع داده ایی صحیح ۸ بیتی بدون علامت. مثال :
sbyte val = 12; 
short : نوع داده ایی صحیح ۱۶ بیتی علامت دار.
ushort : نوع داده ایی صحیح ۱۶ بیتی بدون علامت. مثال :
short val = 12;


int : نوع داده ایی صحیح ۳۲ بیتی علامت دار.
unit : نوع داده ایی صحیح ۳۲ بیتی بدون علامت. مثال :
int val = 12; 
long : نوع داده ایی صحیح ۶۴ بیتی علامت دار.
ulong : نوع داده ایی صحیح ۶۴ بیتی بدون علامت. مثال :
Long val1 = 12; long val2 = 34L; 
کلا در این جا u به معنای unsigned است.
float : نوع اعشاری با single precision .
double : نوع اعشاری با double precision . مثال :
float val = 1.23f; 
bool : نوع داده ایی Boolean که می تواند true و یا false باشد. مثال :
Bool val = true; 
char : کاراکتر، دراین جا char یک کاراکتر یونیکد است.
char val = ‘h’; 
به نحوه ی تعریف کاراکتر ها و هم چنین رشته ها در سی شارپ دقت کنید.
decimal : نوع داده ایی دسیمال با ۲۸ رقم معنی دار.
decimal val = 1.23M; 
یک نکته :
- بهتر است هنگام تعریف یک متغیر ، نامی با مسما برای آن انتخاب شود تا در هنگام کار خواندن کد ساده تر گردد. همچنین رسم شده است که نوع متغیر را به صورت خلاصه به نام متغیر اضافه می کنند. برای مثال به جای FirstName بهتر است بنویسیم strFirstName . به این نوع نگارش Hungarian notation می گویند.
- تمام نوع های پیش فرض تعریف شده در سی شارپ شیء هستند. در آینده بیشتر در این مورد صحبت خواهیم کرد.
مثال این قسمت :
یک برنامه ی console جدید در را VS.NET باز کنید. نام آن را در ابتدا ex02 انتخاب نمایید. در این جا می خواهیم دو متغیر رشته ایی و صحیح را تعریف و سپس در خروجی نمایش دهیم.
کد نهایی به صورت زیر می باشد:
using System; namespace ex02
{
///
/// Summary description for Class1.
///
class Class1
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
int intVar1 = 0;
int intVar2;
intVar2=1;
int intV3=15 , intV4 = 12;
string strText1 = “abcd”;
Console.WriteLine(
“The value for variables are : \n intVar1=”+intVar1 +
“\n intVar2=”+ intVar2 +
“\n intV3=” + intV3 +
“\n intV4=” + intV4 +
“\n strText1=” + strText1);
Console.WriteLine(”\n\n Press any key to terminate”);
Console.ReadLine(); // pause screen!
}
}
}

نکاتی در مورد کد فوق:
- بک اسلش ، در زبان های مشتق شده از سی به معنای new line می باشد.
- در کد فوق نحوه ی تعریف چند متغیر در یک خط و حالت های مقدار دهی مختلف را ملاحظه می کنید.
- از متد ReadLine برای نگه داشتن خروجی و مشاهده ی آن در این جا استفاده کردیم.
- عادت کنید به صورت دندانه دار کد بنویسید. این کار خوانایی کد را صد برابر می کند. در این جا کدهای داخل متد main ، کاملا چند دندانه از آکولادهای باز و بسته کردن آن جلو تر هستند.
- در کد بالا در متد WriteLine اعداد و رشته ها با هم جمع شده اند! این مورد به دلیل وجود overload های زیاد این تابع و … میسر گشته است. اصلا به آن دل نبندید! چون در آینده کامپایلر سی شارپ اگر چنین اعمالی را در جاهای دیگری مرتکب شوید به شدت با شما برخورد خواهد کرد!! برای جمع کردن اعداد با رشته ها حتما باید عدد به رشته تبدیل گردد.
نظرات 1 + ارسال نظر
مریم سه‌شنبه 27 مرداد 1394 ساعت 08:43 http://shahryarmolkesokhan.blogsky.com

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

امکان ثبت نظر جدید برای این مطلب وجود ندارد.