مقدمه اي بر سي شارپ : قسمت اول
طيسلسله مقالاتي مي خواهيم با C# بيشتر آشنا شويم. فرض اين مقالات بر ايناست كه آشنايي مختصري با زبانهاي برنامه نويسي داريد ، هر چند كار ماتقريبا از صفر شروع مي شود و هدف آن سادگي هر چه بيشتر است.
C# از دو زبان C++ و Java متولد شده است! حاوي بسياري از جنبه هاي C++ ميباشد اما ويژگي هاي شيء گرايي خودش را از جاوا به ارث برده است.
C# اگرچه از C++ گرفته شده است اما يك زبان "خالص" شيء گرا (Objectoriented) مي باشد. هر دو زبان ياد شده جزو زبانهاي هيبريد محسوب مي شونداما طراحان 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 ( شبيه به برنامه هاي تحت داس اما 32 بيتي ) در آن انجام مي شود.
بدون متد 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 : نوع داده ايي صحيح 8 بيتي علامت دار.
byte : نوع داده ايي صحيح 8 بيتي بدون علامت. مثال :
sbyte val = 12;
short : نوع داده ايي صحيح 16 بيتي علامت دار.
ushort : نوع داده ايي صحيح 16 بيتي بدون علامت. مثال :
short val = 12;
int : نوع داده ايي صحيح 32 بيتي علامت دار.
unit : نوع داده ايي صحيح 32 بيتي بدون علامت. مثال :
int val = 12;
long : نوع داده ايي صحيح 64 بيتي علامت دار.
ulong : نوع داده ايي صحيح 64 بيتي بدون علامت. مثال :
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 : نوع داده ايي دسيمال با 28 رقم معني دار.
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 هاي زياد اين تابع و ... ميسر گشته است. اصلا بهآن دل نبنديد! چون در آينده كامپايلر سي شارپ اگر چنين اعمالي را در جاهايديگري مرتكب شويد به شدت با شما برخورد خواهد كرد!! براي جمع كردن اعدادبا رشته ها حتما بايد عدد به رشته تبديل گردد و بعد ... . در اين مورد درمقالات بعدي بحث خواهد گرديد


LinkBack URL
About LinkBacks
پاسخ با نقل قول
