آموزش c#.net


پرورش شترمرغ ! پرورش شترمرغ !
آموزش پرورش شترمرغ
شغلی پردرآمد با تسهیلات بانکی
زیباترین مستند جهان
مجموعه حیات وحش بی نظیر(حیات)
زیرنویس فارسی محصول ۲۰۰۹
X
تبلیغات در بلاگ اسکای

: درس اول: آغاز به کار با #c

در این درس با ارائه چند برنامه و مثال ساده به طرز کار با C#  می پردازیم
اهداف این درس عبارتند از:
فهم ساختار پایه ای یک برنامه C#
آشنایی با Namespace
آشنایی با کلاس (Class)
آشنایی با عملکرد متد Main ()
آشنایی با   ورودی/ خروجی یا I/O

لیست 1-1 ,  یک برنامه ساده با عنوان Welcome  در زبان C#
اعلان //Namespace
 Using  System;

کلاس آغازین برنامه//
Class Welcomecss
{
آغاز کار اجرای برنامه //
Public static void Main()
{
نوشتن متن در خروجی//
Console.WriteLine("Welcoe to the c# Persian Tutoril!");
  }
}
برنامه لیست 1-1 دارای 4 پارامتر اصلی است، اعلان Namespace ،کلاس ، متد () Main
و یک دستور زبان C#.
در همین جا به یک نکته اشاره کنم ، برای زبان C#  همانند بیشترزبانهای برنامه نویسی دو نوع کامپایلر وجود دارد . یک نوع کامپایلر که به کامپایلر Command Line  معروف است و نوع
دیگر کامپایلر Visual است.
کامپایلرهای  Command Line محیطی شبیه به محیط DOS دارند و با دادنیک سری دستورات به اجرا در می آیند. کامپایلرهای Visual محیطی همانند ویندوز که با دارا بودن محیط گرافیکی و ابزارهای خاص برنامه نویس را در امر برنامه سازی کمک میکنند. از نمونه های هر یک از کامپایلرها، می توان به Microsoft C# Command Line Compiler که یک Command Line و Microsoft Visual C# که یک کامپایلر Visual است، اشاره کرد
البته در حال حاضر بیشتر از کامپایلرهای ویژوال استفاده می شود.ما سعی می کنیم در در آینده به توضیح محیط C#
و Visual studio.net بپردازیم.
اما فعلا برای اجرای برنامه ها می توان از Visual studio.net استفاده کنید. پس از نصب آن وارد محیط C# شده و در قسمت انتخاب برنامه جدید گزینه Console را جهت اجرای برنامه ها انتخاب نمایید.
برای اجرای کد بالا در صورتیکه از محیط ویژوال استفاده میکنیدباید بر روی دکمه Run کلیک کنید و در صورتیکه کامپایلر Command Line دارید با دستور زیر میتوانید برنامه را اجرا کنید: csc Welcom.cs
پس از اجرای برنامه، کامپایلر برای شما یک فایل اجرا (Executable) تحت نام Welcome.exe تولید میکند

نکته: در صورتیکه از Visual studio.net کنید، پس از اجرای برنامه یک صفحه برای نمایش خروجی به سرعت باز
شده و بسته می شود و شما قادر به ددن خروجی نخواهید بود. برای اینکه متوانید خروجی برنامه را ببینید، در انتهای برنامه دستور زیر را وارد نمایید:
Console.ReadLine();

استفاده از این دستور باعث می شود تا برنامه  منتظر دریافت یک ورودی از کاربر بماند که در این حالت شما می توانید
خروجی برنامه خود را دیده و سپس با زدن کلید Enter برنامه را خاتمه دهید.
نکته دیگر: در مورد زبان برنامه نویسی C# باید مورد توجه قرار دهید  اینست که این زبان Case Sensitive است،
بدین معنا که به حروف کوچک و بزرگ حساس است یعنی برای مثال ReadLine با readline متفاوت است به طوریکه اولی جزو دستورات زبان C# و دومی به عنوان یک نام برای متغیر یا یک تابع که از طرف کاربر تعریف شده است در نظر گرفته می شود.
اعلان Namespace به سیستم اعلان می نماید که شما از تابع کتابخانه ای System جهت اجرای برنامه خود استفاده م نمایید. دستوراتی مانند WriteLine و ReadLine جزو توابع کتابخانه ای System میباشدند. اغلب دستورات و توابع مهم و کلیدی استفاده از کنسول ورودی/خروجی در این کتابخانه می باشد. در صورتیکه در ابتدای برنامه از Using System استفاده نکنید، باید در ابتدای هر یک از دستورات برنامه که مربوط به این کتابخانه است، از کلمه System استفاده نمایید بعنوان مثال در صورت عدم استفاده از Using System باید از دستورSystem.Console.WeiteLine() به جای Console.WriteLine() استفاده نمایید.
تعریف کلاس، Class Welcome CSS شامل تعریف داده ها (متغیر ها) و متدها جهت اجرای برنامه است یک کلاس جزو معدود عناصر زبان C# است که بوسیله آن می توان به ایجاد یک شی (Object) از قبیل واسط ها (Interfaces) و ساختارها (Structures) پرداخت. توضیحات بیشتر در این زمینه در درسهای آینده ذکر می شوند. در این برنامه کلاس هیچ داده و متغیری ندارد و تنها شامل یک متد است. این متد رفتار (Behavior) این کلاس را مشخص می کند.
متد درون این کلاس بیان می کند که این کلاس چه کاری را پس از اجرا شدن انجام خواهد داد. کلمه کلیدی Main() که نام متد این کلاس نیز می باشد جزو کلمات رزرو شده زبان C# است که مشخص می کند برنامه از کجا باید آغاز به کار نماید. وجود
متد Main() نباشد بعنوان توابع سیستمی همانند dll های ویندوز در نظر گرفته می شود.
قبل از کلمه Main() کلمه دیگری با عموان Static آورده شده است. به این کلمه در اصطلاح Modifier می گویند
 استفاده از Static برای متد Main() بیان می دارد که این متد در همین کلاس قابل اجرا است و هیچ نمونه ای (Instance)
دیگری از روی آن قابل اجرا نمی باشد. استفاده از Static برای متد Main() الزامی است زیرا در ابتدای آغاز برنامه هیج نمونه ای از هیچ کلاس و شی ای موجود نمی باشد و تنها متد Main()  است که اجرا می شود .(در صورتیکه با برخی اصطلاحات این متن از قبیل کلاس ، شی ، متد و نمونه آشنایی ندارید به این دلیل است که این مفاهیم اولیه برنامه نویسی شی گرا (OOP) هستند. سعی می کنیم در درس های آینده به توضیح این مفاهیم نیز بپردازیم. ولی فعلا در همین حد کافی می باشد.)
هر متد باید دارای یک مقدار بازگشتی باشد یعنی باید مقداری را به سیستم برگرداند.در این مثال نوع بازگشتی void تعریف شده است که نشان دهنده آنست که این متد هیچ مقداری را باز نمی گرداند یا به عبارت بهتر خروجی ندارد.همچنین هر متد می تواند دارای پارامترهایی نیز باشد که لیست پارامتر های ان در داخل پرانتزهای جلوی آن قرار می گیرد. برای سادگی کار در این برنامه متد ما دارای هیچ پارامتری نیست ولی در ادامه همین درس به معرفی پارامترها نیز می پردازیم.
متد Main() رفتار و عمل خود را بوسیله Console.WriteLine(…) مشخص می نماید Console کلاسی در System است
و WriteLine() متدی در کلاس Console. در زبان C# از اپراتور "." (نقطه dot) جهت جداسازی زیرروتین ها و زیر قسمتها استفاده می کنیم. همانطور که ملاحضه می کنید چون WriteLine() یک متد درون کلاس Console است به همین جهت از "." جهت جدا سازی آن استفاده کرده ایم.
در زبان C# برای قرار دادن توضیحات در کد برنامه از// استفاده می کنیم بدین معنا که کامپایلر در هنگام اجرای برنامه توجهی به این توضیحات نمی کند و این توضیحات تنها به منظور بالا بردن خوانایی متن و جهت و کمک به فهم بهتر برنامه قرار مگیرند استفاده از// تنها در مواردی که توضیحات شما بیش از یک خط نباشد. در صورت تمایل برای استفاده از توضیحات چند خطی باید در ابتدای شروع توضیحات از */ و در انتها آن از /* استفاده نمایید. در این حالت تمامی مطالبی که بین/* */ قرار می گیرند به عنوان توضیحات (Comments) در نظر گرفته می شوند.
تمامی دستورات (Statements) با ";" سمی کاولون پایان می یابند. کلاسهای و متد ها با ‍‍{ آغاز شده و با} خاتمه می یابند. تمامی دستورات بین{} یک بلوک مس سازند.
بسیاری از برنامه ها از کاربر ورودی دریافت می کنند . انواع گوناگونی از این رودی ها می توانند به عنوان پارامتری برای متد Main() در نظر گرفته شوند. لیست 2-1 برنامه ای را نشان می دهد نام کاربر را از ورودی دریافت کرده و آن را بر روی صفحه نمایش می دهد. این ورودی به صورت پارامتری برای متد Main() در نظر گرفته شده است.

لیست 2-1 :برنامه ای که ورودی را از کاربر، بعنوان پارامتر Main() دریافت می کند.
اعلان //Namespace
Using System;
کلاس آغازین برنامه//
Class NamedWelcome
{
آغاز اجرای برنامه//
Console.WriteLine("Hello,{0}",args[0]);
Console.WriteLine("Welcome to the C# Persian Tutorial!");
   }
}
توجه داشته باشید که این برنامه ، ورودی را به صورت Command-Line در یافت می کند و در هنگام اجرای برنامه باید ورودی را در Command-Line وارد نمایید. درصورتیکه ورودی را وارد ننمایید برنامه درچار مشکل شده و متوقف خواهد شد.
همانطور که در لیست 2-1 مشاهده می نمایید پارامتر متد Main() با عنوان args مشخص شده است یا استفاده از این نام در داخل متد می توان ازآن استفاده نمود. نوع این پارامتر از نوع آرایه ای از نوع رشته (string) در نظر گرفته شده است. انواع (types) و آرایه ها را در درس های بعدی یررسی می کنیم فعلا بدانید که آرایه رشته ای جهت نگهداری چندین کاراکتر مورد استفاده قرار میگیرد ‍‌[] مشخص کننده آرایه هستند که مانند یک لیست عمل می کنند.
همانطور که ملاحضه می کنید در این دو دستور Console.WriteLine(…) وجود دارد که اولین دستور مقداری با دستور دوم متفاوت است. همانطور که مشاهده می کنید داخل دستور Console.WriteLine(…) عبارتی به شکل {0} وج.د دارد . این آرگومان نشان می دهد که به جاای آن چه مقداری باید نمایش داده شود که اینجا args[0] نشان داده می شود عبارتی که داخل ""
قرار دارد عیناً در خروجی نمایش داده می شود به جای آارگومان{0} مقداری که پس از " قرار دارد ، قرار می گیرد حال به آرگومان بعدی یعنی args[0] توجه کنید مقدار صفر داخل[] نشان می دهد که کدام عنصر از آرایه مورد استفاده است
درC# اندیس آرایه  از صفر  شروع می شود به همین جهت برای دسترسی به اولین عنصر ارایه باید از اندیس صفر استفاده کنیم.(همانطور که قبلا نیز گفتیم آرایه ها را در درس های آینده توضیح خواهیم داد هدف از این درس تنها آشنایی با C# است)
مجدداً به آرگومان {0} باز گردیم این آرگومان نشان می دهد که یک مقدار باید در رشته خروجی قرار گیرد این مقدار همان args[0] است اگر شما این برنامه را از طریق Command-Line اجرا نمایید خروجی شبیه به زیر خواهد گرفت
>Hello!, Meysam!
>Welcome to C# Persian Tutorial!
همان گونه که می بینید، پس از اجرای برنامه شما که از طریق Command-Line آنرا وارد نموده اید در خروجی ظاهر می شود . استفاده از آرگومان {n}، که در آن n یک مقدار عددی است جهت فرمت دادن به متن خروجی است که بر روی صفحه به نمایش در می آید . مقدار n از صفر اغاز شده و به ترتیب افزایش می یابد . به مثال زیر توجه کنید.
Console.WriteLine("Hello,{0},{1},{2}",args[0],arge[1],args[2]);
این خط از برنامه سه مقدار args[0],arge[1],args[2] را در خروجی به ترتیب نمایش می دهد ملاحضه می نمایید که 3 مقدار را می خواهیم نمایش دهیم سه بار از آرگومان {n} استفاده کرده ایم و هر بار یک واحد به مقدار قبلی افزوده ایم در آینده بیشتر با این مفاهیم آشنا می شویم.

مطلبی که باید در مورد لیست 2-1 به آن شود آنست که این برنامه تنها از طریق Command-Line قابل اجرا است و در صورتیکه کاربر از این مطلب که برنامه باید دارای ورودی به صورت Command-Line باشد بی اطلاع باشد و ورودی را در Command-Line وارد نکند برنامه متوقف شده و اجرا نمی شود پس برای رفع چنین مشکلی باید از روش بهتری جهت دریافت ورودی از کاربر استفاده کرد.

لیست 3-1 : یک برنامه که قابلیت محاوره را دارد
// Namespace اعلان
using System;
کلاس آغازین برنامه//
class InteractiveWelcome
{
آغاز اجرای برنامه//
public static void Main()
{
متنی بر روی صفحه نمایش داده می شود//
Console.Write("What is your name?: ");
متنی نمایش داده شده و برنامه منتظر دریافت ورودی می ماند//
    Console.Write("Hello, {0}! ",Console.ReadLine());
    Console.WriteLine("Welcome to the C# Persian Tutorial!");
  }
}

همانطوریکه در این برنامه دیده می شود، متد Main() دارای پارامتر نیست. در عوض یک خط به متن برنامه لیست 2-1 اضافه
شده است. در اولین خط از این برنامه متنی با عنوان اینکه نام شما چیست؟ بر روی صفحه ظاهر می شود سپس در خط بعدی پس از نوشتن کلمه Hello برنامه منتظر دریافت ورودی از کاربر می شود. بدین معنی که این بار تا زمانیکه کاربر متنی به عنوان نام خود وارد نکند اجرای برنامه به پیش نخواهد رفت و خط بعدی اجرا نخواهد شد. این برنامه روش ایجاد ارتباط از طریق برنامه با کاربر را نمایش می دهد . در این مثال کاربر دقیقاً متوجه می شود که چه زمانی باید اطلاعات را وارد نماید و این اطلاعات چه باید باشد در حالیکه در مثال قبل چنین نبود. همانگونه که می بینید در این برنامه آرگومان{0} مستقیما از طریق
دستور Console.ReadLine() دریافت نمی شود و بلافاصله در خروجی نمایش داده می شود.دستور ReadLine()
نیز یکی از متد های کلاس Console است بوسیله آن رشته ورودی خوانده می شود.
خروجی برنامه فوق به شکل زیر است:
What is your name?:
(سپس برنامه منتظر دریافت متنی از ورودی  توسط کاربر می ماند)
(پس از اینکه کاربر رشته ای را وارد کرد کلید Enter  را فشار داد متن زیر نمایش داده می شود.)
Hello, Meysam!
(سپس اجرای برنامه به دستور بعدی منتقل می شود)
Welcome to the C# Persian Tutorial!
خروجی کامل برنامه:
What is your name?:
Hello, Meysam! Welcome to the C# Persian Tutorial!
توجه کنید که ReadLine() به عنوان یک متد مقداری را به سیستم باز می گرداند این مقدار در این برنامه به آرگومان{0}
برگردانده می شود. این خط از برنامه را می توان طوری  دیگری هم نوشت:
string myName=Console.ReadLine();
Console.WriteLine("Hello, {0}!",myName);
در این حالت ما یک متغیر از نوع رشته با نام myName تعریف کرده ایم که مقدار ورودی در آن ذخیره می شود و سپس از این مقدار به عنوان مقداری که{0} می پذیرد استفاده کرده ایم.
در این درس آموختید که ساختار کلی یک برنامه C#  چگونه است.هر برنامه C# از یک کلاس اصلی تشکیل می شود که این کلاس شامل داده ها و متغیر ها ومتدهایی می باشد. متد آغازین برنامه که برنامه با آن شروع به اجرا می کند متد Main() است. با استفاده از توابع کتابخانه ای می توان به کلاسها و متدهای C# دسترسی پیدا کرد. از جمله این توابع System بود که یکی از کلاسهای آن Console و چند متد این کلاس،متدهای WriteLine و ReadLine() بودند.






آخرین مطالب

  • درس اول: آغاز به کار با #c
ویرایش قالب : یکرنگ