Team Dark
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Latest topics
» GORG_HO3ein & TATALOO & PISHRO New Music
by saeid Tue Sep 22, 2015 12:51 am

» Black Cat Massanger Irani Started
by saeid Mon Jul 13, 2015 12:58 am

» telegram (BOTFATHER)
by saeid Mon Jul 13, 2015 12:34 am

» Wow Sorate Download Net RighTel
by saeid Wed Apr 15, 2015 1:52 pm

» بدباز پلاک یاب ورژن 2
by saeid Sun Apr 12, 2015 12:15 pm

» Internet 3G RighTel
by sarina Sat Apr 11, 2015 3:00 pm

» zapya For android
by saeid Sat Apr 11, 2015 12:52 pm

» معرفی بازی Boom Beach
by Mehdi Sat Apr 11, 2015 12:46 pm

» دانلود مستقیم adobe photoshop cs6
by Mehdi Sat Apr 11, 2015 12:45 pm

» مادرم هميشه دوستت دارم!! روزت مبارك
by saeid Fri Apr 10, 2015 1:53 am

» Topic Jame New Music
by saeid Wed Apr 08, 2015 3:25 pm

» Help Me To RighTel
by saeid Sun Apr 05, 2015 6:26 pm

» امکانات جدید وایبر
by Vampier Sun Apr 05, 2015 5:18 pm

» ربات کلش آف کلنز نسخه اندروید
by saeid Sun Apr 05, 2015 5:00 pm

» دانلــــــود سریال در حاشـــیه
by Mehdi Sat Apr 04, 2015 11:47 pm

Search
 
 

Display results as :
 

 


Rechercher Advanced Search

Who is online?
In total there is 1 user online :: 0 Registered, 0 Hidden and 1 Guest

None

[ View the whole list ]


Most users ever online was 13 on Fri Sep 15, 2023 3:07 pm

اشنایی با c#

Go down

اشنایی با c# Empty اشنایی با c#

Post by mamad Thu Mar 26, 2015 2:49 pm

در طی سلسله مقالاتی می خواهیم با C# بیشتر آشنا شویم. فرض این مقالات بر این است که آشنایی مختصری با زبان های برنامه نویسی دارید ، هر چند کار ما تقریباً از صفر شروع می شود و هدف آن سادگی هر چه بیشتر است.
 
C# از دو زبان C++ و Java متولد شده است! حاوی بسیاری از جنبه های 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 های زیاد این تابع و … میسر گشته است.
mamad
mamad
Good Member
Good Member

Nimbuzz ID: : المديــــر@nim
Posts : 16
Join date : 2015-03-25
Location : uni.khoram abad

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum