آموزش جامع Visual C#.NET

 
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

آموزش جامع Visual C#.NET

به نام خدا



تصمیم بر این شد در این تاپیک آموزش جامعی از Visual C#.NET 2005 رو برای دوستان راسخونی بنویسم 

تمامی مطالب سعی می شه برای افراد مبتدی و افرادی که کاملا با برنامه نویسی آشنا نیستند شروع بشه و تا سطوح حرفه ای ادامه پیدا کنه ;

از دوستانی هم که تجربه دارند در رابطه با موضوع می تونند با من در ارتباط باشند تا در پر بار کردن این بخش قدم مثبتی بر داشته بشه ;

هر درسی که ارائه می شه همراه با مثال ، عکس های تصویری و تمرین هایی نیز خواهد بود ; 

از دوستان خواهشمندم که اگر سوالی ، انتقاد یا پیشنهادی دارند با من از طریق پیغام خصوصی در ارتباط باشند ;


ارادتمند 

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:32 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

مقدمه

سی شارپ (C#) زبانی شیءگرا و سطح بالا (high level) از خانوادهٔ زبانهای چارچوب داتنت شرکت مایکروسافت است.

زبان #C، یک زبان برنامه نویسی چند الگویی است و منظم شده مدلهای تابعی، امری، عمومی، شی گرا و جز گرا میباشد. این زبان توسط ماکروسافت و جزئی از دات نت به وجود آمد و بعدا استانداردهای ECMAو ISO را نیز در بر گرفت. #C یکی از 44 زبان برنامه نویسی ای است که توسط Common Language Runtime از .NET Framework پشتیبانی میشوند و در همه جا به وسیله Microsoft Visual Studio شناخته میشود.

این زبان برپایه سادگی، مدرن بودن، همه منظوره و شی گرا بودن ساخته شد.Anders Hejlsberg، طراح زبان برنامه نویسی دلفی، سرپرستی تیم طراحان زبان #C را بر عهده داشت.این زبان دارای دستوری شی گرا مشابه ++C است و به شدت از زبانهای جاوا و دلفی تاثیر پذیرفته است.در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در جولای 2000، زمانی که ماکروسافت پروژه را عمومی اعلام کرد، اسم آن به #C تغییر پیدا کرد.آخرین نسخه آن نسخه 3 است که از ویژوال استدیو 2008 استفاده میکند. نسخه بعدی 4 است که در دست ساخت است.


اهداف طراحی زبان

• استاندارد ECMA این اهداف طراحی زبان را برای #C بر آورده میسازد:. سی شارپ یک زبان برنامه سازی ساده،مدرن،برای اهداف عمومی و شی گرا است. به دلیل اهمیت داشتن موضوع نیرومندی و دوام و بهره وری برنامه نویس،زبان دارای چک کننده Strong Type ، چک کننده مرزهای آرایه، تشخیص حالتهایی که یک متغیر مقدار دهی اولیه نشده است،قابلیت انتقال کدها و Garbage Collection خودکار است. این زبان برای استفاده در اجزای توسعه نرم افزار برای دستیابی به مزایای سیستمهای توزیعی در نظر گرفته شدهاست. قابلیت انتقال برنامه نویس بسیار مهم است،خصوصاً برای آن دسته از برنامه نویسانی که با زبانهای C و C++ آشنا هستند. پشتیبانی از این زبان برای بین المللی شدن بسیار مهم است. زبان سی شارپ برای نوشتن برنامه ها برای سیستمهای تعبیه شده و میزبان در نظر گرفته شده است، از سیستم عاملهای پیچیده بسیار بزرگ گرفته تا توابع اختصاصی بسیار کوچک. هر چند برنامه های نوشته شده با #C طوری هستند که از لحاظ حافظه و پردازنده مورد نیاز مقرون به صرفه باشند، ولی خود زبان از لحاظ اندازه و کارایی به خوبی زبانهای C و اسمبلی نیست


تاریخچه

در سال 1999، شرکت سان اجازه استفاده از زبان برنامه نویسی جاوا را در اختیار ماکروسافت قرار داد تا در سیستم عامل خود از آن استفاده کند.جاوا در اصل به هیچ پلت فرم یا سیستم عاملی وابسته نبود، ولی ماکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستم عامل بودن جاوا را از آن برداشت.شرکت سان پروندهای علیه ماکروسافت درست کرد و ماکروسافت مجبور شد تا زبان شی گرای جدیدی با کامپایل جدید که به ++C شبیه بود را درست کند. در طول ساخت دات نت، کلاسهای کتابخانهای با زبان و کامپایلر SMC نوشته شدند.در سال 1999 آندرس هلزبرگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش Cool بود و همانند C بود با خواص شی گرایی. ماکروسافت در نظر داشت اسم این زبان را تا آخر Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی .NET در PDC در سال 2000 این زبان به سی شارپ تغییر نام یافت و کتابخانه کلاسها و runtime در ASP.NET به#C منتقل شدند. مدیر و سرپرست طراحان در ماکروسافت آندرس هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبانهای برنامه سازی++Borland , Delphi, Turbo Pascal, Visual C به آسانی در دستورالعملهای سی شارپ قابل رویت است و به همان خوبی در هسته CLR.

ویژگیها

برخی از تفاوتهای زبان سی شارپ با C و ++C عبارتند از:

* هیچ تابع یا متغیر سراسری(Global) وجود ندارد، تمام متدها و اعضا بایستی در داخل کلاسها تعریف شوند.این امر ممکن است، هر چند برای استفاده از متغیرها و توابع عمومی باید از متدها و متغیرها در کلاسهای عمومی استفاده کرد.

* متغیرهای عمومی، بر خلاف C و ++C ، نمیتوانند بلاکهای پیوستی را در بر بگیرند.

* سی شارپ دارای یک نوع داده بولی است (bool).برخی از عبارتها مانند while و if که شرطی هستند، نیازمند یک عبارت نوع بولی هستند.همان طور که ++C نیز دارای نوع داده بولی است،این نوع داده به راحتی میتواند به یا از Integerها تبدیل شود، و عبارتی مانند (if(a نیازمند این امر است که a از یک نوع قابل تبدیل به bool یا اشاره گر باشد.کامپایلر سی شارپ برنامه نویس را در این شرایط مجبور به استفاده از عباراتی میکند که به درستی یک مقدار bool را برمی گردانند. بنابراین دستوری مانند (if(a = b باعث بروز خطا میشوند.(به جای = بایستی از == استفاده شود)

* در سی شارپ ، اشاره گرهای به حافظه بایستی فقط در داخل بلوکهای unsafe استفاده شوند و برنامه در این حالت برای اجرا نیاز به اجازه از کاربر دارد.بیشتر دسترسی شی از طریق شی امن است که یا همیشه در حال اشاره به شی صحیح موجود است یا یک مقدار Null دارد. اشاره گری به شی به درد نخور یا بلاک حافظه رندم غیر ممکن است.اشاره گر نا امن میتواند به نمونهای از value-type ، آرایه، رشته یا بلاکی که حافظه به آن داده شدهاست اشاره نماید.کدی که به عنوان نا امن علامت نخورده باشد، هنوز میتواند اشاره گرها را از سیستم بازیابی یا در آن ذخیره کند ولی نمیتواند مرجع جدیدی به آنها اختصاص دهد.

* حافظه ساماندهی شده نمیتواند صریحا آزاد شود، ولی به طور خودکار به عنوان به درد نخور تلقی میشود.انتخاب آدرسهای به درد نخور حافظه نفوذ ناپذیر است. هم چنین #C با استفاده از عبارات، پشتیبانی مستقیمی از پایان اجباری میکند(پشتیبانی از اصطلاح Resource Acquisition Is Initialization).

* وراثت چندگانه از کلاسها در این زبان پشتیبانی نمیشود.البته یک کلاس امکان ارث بری از تعداد نامحدود واسطها را دارد.پشتیبانی نکردن از وراثت چندگانه به دلیل اهداف معماری این زبان در CLI و برای جلوگیری از پیچیدگی است.

* سی شارپ بسیار typesafe تر از C++ است. تنها تبدیلات ضمنی مثل تبدیل نوع داده کوچکتر به بزرگتر یا تبدیل نوع مشتق شده به نوع پایه به طور پیش فرض و بدون خطا صورت میپذیرد.هیچ تبدیل ضمنی ای میانBooleanها و Integerها وجود ندارد و هر تبدیل user-defined بایستی به صراحت با یکی از کلمات explicit یا implicit نشانه گذاری شود. تبدیل b به a در حالتی که a یک Integer و b یک double باشد در زبان C++ مجاز است اما در سی شارپ به یک خطای زمان کامپایل منجر میشود(بایستی به صورت explicit تعریف شود)

* اعضای Enumeration در داخل محدوده شخصی خود قرار دارند.

* #C قابلیت syntactic sugar را برای توابع متداول، اکسسورها و ماجولهای کسول شده در یک کلاس به صورت ویژگیها قرار دادهاست.

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

* تمام انواع بازتابی(Reflection) و بازیابی(Recovery) قابل استفاده است.

* در حال حاضر (3 جوان 2008) دارای 77 کلمه رزرو شده است.


سیستم یکپارچه شده

سی شارپ دارای یک سیستم نوع یکپارچهاست که به آن CTS میگویند.این بدان معناست که تمام انواع،شامل موارد اصلی مانند Integerها، مشتق شده از System.Object هستند.به عنوان مثال، هر نوع یک متد به نام ToString() را به ارث میبرد.بخاطر کارائی،انواع اولیه (و انواع مقداری) به طور داخلی فضایی برای آنها بر روی پشته در نظر گرفته میشود.



استانداردسازی

در آگوست سال 2000 ، شرکت مایکروسافت،و Hewlett-Packard و شرکت Intel به عنوان پشتیبان مشخصات سی شارپ را مانند CLI به سازمان استانداردسازی ECMA ارائه کردند.در دسامبر سال 2001 ، این سازمان ، ECMA-334 را با عنوان مشخصات زبان سی شارپ منتشر کرد.سی شارپ در سال 2003 به عنوان یک استاندارد ISO به ثبت رسید(ISO/IEC 23270).در سال 2002، ECMA دومین ویرایش از خصوصیات زبان سی شارپ را پذیرفت.

در ژوئن سال 2005 ، ECMA سومین ویرایش را با اضافه کردن مواردی همچون کلاسهای partial ، متدهای ناشناس ، انواع nullable و Genericها منتشر کرد. در جولای 2005، ECMA استانداردها و TRها را همراه با پردازش Fast-Track اخیر به ISO/IEC JTC پیشنهاد کرد.این روند معمولا 6 تا 9 ماه زمان میبرد. آخرین ویرایش این زبان در 19 نوامبر سال 2007 در قالب Framework3.5ارائه گردید


کارائی

برنامه های سی شارپ ، همچون تمام برنامه های نوشته شده در .NET و سایر محیط های ماشینی مجازی مانند جاوا ، نیازمند منابع سیستم و حافظه بیشتری نسبت به برنامههای نوشته شده با سایر زبانها مانند سی پلاس پلاس است و هم چنین سرعت کمتری نیز دارد. هر چند تعریف زبان #C و CLI تحت استانداردهای ISO و ECMA استاندارد شدهاند،CLI تنها قسمتی از Base Class Library (BCL) ماکروسافت میباشد که شامل کلاسهای غیر استاندارد استفاده شده در برنامههای #C نیز میشود.از این گذشته، بعضی از قسمتهای BCL تحت حق امتیاز ماکروسافت هستند که ممکن است پیاده سازی کامل framework را مختل کند، زیرا تنها بخشهای استاندارد دارای حق محافظت RAND در برابر مدعیان را دارند.


پیاده سازی ها

متداول ترین کامپایلر #C ، Microsoft Visual C# میباشد.

کامپایلرهای C# :

* پروژه Microsoft Rotor (در حال حاضر به عنوان Shared Source Common Language Infrastructure شناخته میشود) (ثبت شده فقط برای استفاده آموزشی و تحقیقی) یک پیاده سازی منبع اشتراکی از CLR Runtime را فراهم میآورد و یک کامپایلر سی شارپ، و یک زیرمجموعه از کتابخانه]] CLI Framework مورد نیاز.

* پروژه Mono یک اوپن سورس از کامپایلر سی شارپ است،یک پیاده سازی اوپن سورس کامل از CLI شامل کتابخانههای Framework مورد نیاز که در ECMA ظاهر شده اند، و یک پیاده سازی کامل نزدیک به بقیه کتابخانه های اختصاصی کلاس .NET مایکروسافت.

* پروژه DotGNU نیز یک اوپن سورس از کامپایلر سی شارپ است، که پیاده سازی آن بسیار نزدیک به Common Language Infrastructure می باشد و کتابخانه های framework مورد نیاز موجود در ECMA و زیر مجموعه ای از کلاس های کتابخانه ای شخصی ماکروسافت در دات نت و دات نت 2 را در بر دارد. کاملاً شبیه به پروژه Mono .


نام زبان

اسم سی شارپ از علامت موسیقی شارپ گرفته شده است که در موسیقی بیان گر این است که متن نوشته شده باید نیم قدم از خط بالاتر باشد. مطابق با ECMA-334،بخش 6، مخفف ها و اختصارها ، نام زبان به صورت «#C» نوشته می شود(«کلمه لاتین C (U+0043) به همراه علامت عددی #(U+0023)») که به صورت «سی شارپ» تلفظ می شود.علامت «#» نباید با علامت شارپ در موسیقی(♯ , U+266F) که در یک صفحه کلید استاندارد وجود ندارد اشتباه گرفته شود. پسوند شارپ، توسط بسیاری دیگر از زبان های دات نت مانند #J،#Aو #F نیز به کار رفته است.پیاده سازی اولیه از زبان ایفل تحت دات نت نیز #Eiffel نام داشت که الان زبان ایفل را به طور کامل پشتیبانی می*کند.هم چنین این پسوند بعضی وقت ها در کتابخانه ها نیز به کار می رود، مانند #Gtkو #Cocoa و #Qt .

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:33 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

ایجاد یک برنامه جدید:.
 
برای ایجاد یک پروژه جدید به آدرس زیر بروید :
 
کد PHP:
File > New > Project  
 
templates >> در این بخش نوع پروژه را انتخاب کنید که ما در حال حاضر با نوع Windows Application کار خواهیم کرد
 
project type >> در این بخش شما نوع زبان پروژه را انتخاب می کنید که باید بر روی Visual C#I قرار بگیرد .
 
در سه فیلد پایین هم نام و آدرس دخیره برنامه را انتخاب می کنید و بر روی دکمه ok کلیک کنید .
 
در پروژه ایجاد شده بخش های زیادی را مشخص می کنید ;
 
toolbox >> مجموعه ابزار هایی که برای ایجاد کردن انواع برنامه ها به کار می رود . که در آینده با تمامی این ابزار ها آشنا خواهید شد .
 
Solution Explorer >> مجموعه راه حل ها که در این قسمت main form و کلاس ها قرار می گیرد .
 
properties >> تمامی خواص شی انتخاب شده را نشان می دهد .
 
 
* برای دیدن بخش کد نویسی هر شی که انتخاب کرده اید می توانید راست کلیک کرده و View Code را انتخاب کنید و یا از F7 استفاده کنید 
 
 
نوشتن توضیحات :.
 
در برنامه نویسی یکی از نکات مهمی که باید در نظر گرفته بشود نوشتن توضیحات برای کد ها است . شاید در نگاه اول این مسئله کمی غیر قابل قبول بیاید اما این تفکر برای کد های کوچک و کوتاه صدق می کند اما در نوشتن برنامه های بزرگ کاملا این امر احساس می شود . مفادی هم که نوشتن توضیحات دارد اول خوانا بودن کد هست دیگری اینکه برنامه نویس دیگری بخواهد از برنامه شما استفاده کند به راحتی امکان پذیر می شود یا زمان هایی رخ می دهد که خود ما بعد از گذشت مدتی الگوریتمی که خودمان نوشتیم فراموش می کنیم اما با استفاده از توضیحات به راحتی همه چیز را به یاد می آوریم برای نوشتن توضیحان با علامت // شروع می شود به طور مثال به شکل زیر عمل می کنیم :
 
کد PHP:
// Get the value that they type  
 
 
علامت گذاری استاندارد :.
 
برای خوانا شدن کد و برنامه معمولا برنامه نویسان از پیشوند های یکسانی برای اشیاء برنامه خود استفاده می کنند این امر در خواندن کد ها و تفاوت قائل شدن بین object ها بسیار موثر است . برخی پیشوند های استاندارد به شکل زیر هستند توصیه می کنم که تا حد امکان از این پیشوند ها استفاده کنید تا برنامه منظم و قابل فهمی داشته باشید :
 
کد PHP:
 
 
listbox     >> lst 
menu        >> mnu 
button      >> btn 
cobobox     >> cbo 
textbox     >> txt 
picturebox  >> pic 
label       >> lbl 
checkbox    >> chk 
radiobutton >> rdb  

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:33 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

متغیر ها :.
 
تعریف کلی که از متغییر می شه کرد بدین شکل است : همانند ظرفی است که می توان یک نوع ماده را در خود نگه دارد . در کل متغییر ها فضاهایی از حافظه هستند که ما می توانیم اطلاعات خودمان را در آنها ذخیره کنیم .
 
در کل در روند برنامه نویسی با کار کردن با متغییر ها بیشتر آشنا می شوید و راه و روش های بهینه استفاده کردن از منغییر ها ...
 
شکل کلی تعیرف متغیر :
 
کد PHP:
اسم متغییر  نوع متغییر  
 
 
به طور مثال تعیرف یک متغییر از نوع اعداد صحیح به شکل زیر است :
 
کد PHP:
int number;  
 
در مثال بالا ما یک متغییر به نام number و از نوع int تعریف کرده ایم که می توانیم از این متغییر در برنامه خودمان استفاده کنیم .
 
برای اینکه یک مقداری را به متغییر خودمان بدهیم می توانیم به دو شکل عمل کنیم 1 - در طول برنامه مقدار دهی کنیم . 2- در هنگام تعریف متغییر یک مقدار را نسبت بدهیم .
 
به طور مثال من در نمونه زیر مقدار متغییر number را به 2 صورت گفته شده مساوی با 5 قرار می دهم :
 
کد PHP:
number=5;  
کد PHP:
int number=5;  
 
همانطور که مشاهده کردید تعریف متغییر ها و استفاده از آنها بسیار ساده است .
 
در برخی از برنامه ها احتیاج می شود که از متغییر هایی استفاده شود که قابلیت نگه داری اعداد با قابلیت اعشاری را داشته باشد . در این صورت می توانیم از دو نوع داده ای استفاده کنیم که به دو دسته با دقت بالا و دقت معمولی تقسیم می شوند 
 
متغییر ها با دقت بالا با نوع double مشخص می شوند که در مثال زیر می توانید مشاهده کنید :
 
کد PHP:
double var1;  
 
برای تعریف متغییر با دقت معمولی با نوع float مشخص می شود که در مثال زیر می توانید مشاهده کنید :
 
کد PHP:
float var2;  
 
 
برای دخیره کردن رشته ها و کاراکتر ها باید از نوع داده ای استفاده شود که این قابلیت را داشته باشد . برای این امر می توانی از نوع string استفاده کنید که به شکل زیر استفاده می شود :
 
کد PHP:
string strdata;  
 
توجه داشته باشید برای اینکه رشته ای را داخل این متغییر ذخیره کنید باید آن را داخل " " قرار بدهید می توانید برای تفهیم بیشتر به مثال زیر توجه کنید :
 
کد PHP:
string strdata="Ashiyane";  
 
توجه : برای اینکه متغییر هایی منظم داشته باشید و در طول برنامه مشکلی با استفاده آنها نداشته باشید بهتر است قبل از اسم متغییر نوع آن را به صورت مختصر بنویسید به طور مثال برای نوع int یک متغییر به این شکل باشه intnumber و متغییر های رشته ای به شکل strvar باشد .

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:33 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

عملگر ها :.
 
در ادامه درس های قبلی و یادگیری متغییر ها در این درس به یادگیری عملگر ها می پردازیم . برای کار با متغییر ها و انجام اعمال ریاضی احتیاج به استفاده از عملگر ها داریم . چهار عمل اصلی به شکل زیر خواهند بود :
 
کد PHP:
+  plus 
 
_  Subtraction 
 
*  Multiplication 
 
/  Division  
 
در برخی از موارد برای اینکه سریع تر کد بنویسیم با ترکیب عملگر ها کار ساده تر می شود به طور مثال در قسمتی هایی از برنامه های پیش می آید که احتیاج می شود متغییر sum را با B جمع کنیم و در sum دخیره کنیم . برای این کار به شکل زیر کد می نویسیم :
 
کد PHP:
sum=sum+B;  
 
برای نوشتن سریع تر کد بالا به شکل زیر عمل می کنیم و از عملگر =+ استفاده می کنیم :
 
کد PHP:
sum+=B;  
 
همانطور که مشاهده کردید کد کوتاه تر و ساده تر شد برای تمامی عملگر های دیگر هم به شکل زیر می شود :
 
کد PHP:
+= 
 
-= 
 
*= 
 
/=  
 
 
چاپ خروجی :.
 
 
در نوشتن برنامه های مختلف خروجی برنامه و نشان دادن آن اهمیت دارد در این بخش به نحوه نشان دادن خروجی خواهیم پرداخت . برای این امر از تابع messagebox.show استفاده خواهیم کرد . شکل کلی این دستور به این شکل است :
 
کد PHP:
MessageBox.Show("message", 
                "title");  
 
همانطور که مشاهده کردید پیغام ها داخل " " قرار می گیرند . و در قسمت message پیغام مورد نظر را نوشته و در قسمت title هم عنوان پیغام نوشته خواهد شد . به طور مثال چاپ یک پیغام ساده به شکل زیر خواهد بود :
 
 
کد PHP:
MessageBox.Show("Ashiyane Security Center", 
                "Asihyane");  
 
در درس آینده به ترکیب کردن پیغام خروجی با text box و رشته ها و ... به همراه نوشتن برنامه Hello User و یک برنامه ساده دیگر خواهیم پرداخت .

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:33 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

در این درس می خواهیم مفهوم کار با text box و message box و Button را با یک مثال نشان بدهیم .
 
خوب ما می خواهیم یک برنامه ساده ایجاد کنیم که دارای یک text box و یک دکمه باشه که رشته ای که در text box وارد می شه با کلیک بر روی Button به همراه یک پیغام در message box نشون داده بشه .
 
در مرحله اول یک پروژه را ایجاد می کنیم و از جعبه ابزار یک text box به فرم اضافه می کنیم توجه کنید که یک نام مناسب برای text box انتخاب کنید همانند :.
 
کد PHP:
txtinput 
txtvalue 
txtstring  
برای تغییر نام می تونید در قسمت properties خاصیت name آن را تغییر بدید . 
 
در ادامه از جعبه ابزار یک Button به فرم اضافه می کنیم و خاصیت name آن را برابر با :.
 
کد PHP:
btnok  
 
قرار می دهیم و خاصیت text آن را نیز برابر با ok قرار می دهیم .
 
خوب در اینجا ما شمای کلی برنامه ی خودمون رو ایجاد کردیم و حالا شروع می کنیم به کد نویسی کردن .
 
در ابتدا باید مقدار text box را در متغییر ذخیره کنیم که به شکل زیر عمل می کنیم :.
 
کد PHP:
string strdata;  
در ایجا به دلیل اینکه می خواهیم ورودی را در message box نشان بدهیم به صورت رشته ای متغییر را تعریف کردیم . روش های دیگری هم داریم که بعدا شرح می دم .
 
خوب در قسمت بعد لازمه که مقدار text box را در متغییر بریزیم که باید خاصیت text ورودی text box خودمون رو برابر با متغییر قرار بدهیم که به شکل زیر می شود :.
 
کد PHP:
strdata=txtinput.text;  
 
توجه کنید که تمامی کد نویسی در قسمت button باشد و این امر با دوبار کلیک کردن بر روی این butoon و یا راست کلیک و view code محقق می شود .
 
خود در مرحله آخر کافیه که ما ترکیب اطلاعات را در خروجی نشان بدهیم یه همین منظور باید متغییر strdata که از نوع string هست را با message box ترکیب کنیم که به شکل زیر می شود :.
 
کد PHP:
MessageBox.Show("Input is : " + strdata, 
"Input Test");  
تبریک می گم اولین برنامه را با موفقیت به پایان رساندید . کد نهایی ما به شکل زیر می شود :.
 
کد PHP:
        private void btnok_Click(object sender, EventArgs e) 
        { 
            string strdata; 
            strdata = txtinput.Text; 
            MessageBox.Show("Input is : " + strdata, 
                "Input Test"); 
        }  
 
برنامه به شکل بیان شده پیاده شد و ضمیمه شد که اگر دوستان مبتدی مشکلی داشتند با دیدن برنامه رفع بشه .

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:33 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

تبدیل نوع متغییر ها :.
 
در برنامه مواقع زیادی رخ می دهد که نیاز است نوع متغییر تغییر کند . به صورت مثال می خواهیم متغییری اعشاری را به صحیح یا بلعکس تبدیل کنیم .
 
برای تبدیل متغییر ها به نوع رشته ای باید از خاصیت tostring استفاده کنیم . به طور مثال ما متغییری داریم به نام ash که از نوع اعشاری است و می خواهیم آن را به نوع رشته ای تبدیل کنیم و در یک پیغام نشان می دهیم :
 
کد PHP:
MessageBox.show("Test Type : "+ash.tostring(), 
"type");  
 
همانطور که دیدید متغییر را به یک نوع رشته ای تبدل کردیم و به همین شکل می شه متغییر تبدیل شده را در متغییر دیگه ای ذخیره کرد :
 
کد PHP:
ashstring=ash.tostring();  
 
در مواقعی احتیاج می شود که نوع متغییری از نوع صحیح به اعشاری و یا بلعکس تغییر کنید در مثال زیر ما یک متغییر داریم به نام var1 که از نوع اعشاری است و متغییری داریم به نام var2 که می خواهیم مقدار var1 که را به عدد صحیح تغییر بدیم و در این متغییر ذخیره کنیم . برای این کار قبل از متغییر که می خواهیم تغییر نوع بدیم داخل پرانتز نوع جدید را ذکر می کنیم :
 
کد PHP:
var2=(int)var1;  
 
 
خاصیت Length :.
 
در شماری از برنامه ها لازم می شود که ما طول متغییر را محاسبه کنیم . این کار با استفاده از خاصیت length استفاده می کنیم برای این کار کافیه به شکل زیر عمل کنیم :
 
کد PHP:
var=strdata.length;  
 
به همین تعداد کارکتر های ورودی محاسبه می شه . 
 
 
خاصیت substring :.
 
زمان کار با رشته ها برای اینکه بخواهیم قسمتی از یک متغییر رشته ای را select کنیم باید از خاصیت Substring استفاده کنیم باید به این خاصیت دو پارامتر فرستاده شود که اندیس اولین و آخرین کارکتر باشه :
 
کد PHP:
strdata=string.substring(0,4);  
 
 
تمرین :. 
 
برای تفهیم مباحثی که گفته شد یک برنامه می نویسیم تا موارد گفته شده را پیاده سازی کنیم .
می خواهیم برنامه ای بنویسیم که یک ورودی را از text box بگیرد و تعداد کاراکتر ها و نیمه اول ورودی را محاسبه کند .
 
در اول یک پروژه جدید ایجاد می کنم به نام subtest و نام فرم را به substring تغییر می دهیم . یک text box به نام txtstring اضافه می کنیم به همراه یک button به نام ok و چهار label دو لیبل به نام های lbllength , lbllength2 و دو لیبل به نام های lblhalf , lblhalf2 ایجاد می کنیم .
 
برای شروع محاسبه طول ورودی یک متغییر از نوع int تعریف می کنم :
 
کد PHP:
int intlength;  
 
و با استفاده از خاصیت length طول ورودی text box را داخل متغییر intlength می ریزیم :
 
کد PHP:
intlength = txtstring.Text.Length;  
 
و در نهایت طول وردی را تبدیل به متغییر رشته ای می کنیم و در خاصیت text لیبل نشان می دهیم :
 
کد PHP:
lbllength2.Text = intlength.ToString();  
 
برای محاسبه نیمه اول ورودی باید از substring استفاده کنیم . برای شروع یک متغییر ایجاد می کنیم از نوع صحیح که نصف length در آن ذخیره شود :
 
کد PHP:
int half;  
 
در مرحله بعد متغییر intlength را تقسیم به 2 می کنیم و در متغییر half ذخیره می کنیم :
 
کد PHP:
 half = intlength / 2;  
 
و در نهایت نیمه اول را در لیبل نشان می دهیم :
 
کد PHP:
lblhalf2.Text = txtstring.Text.Substring(0, half);  
 
و سورس نهایی برنامه به شکل زیر است :
 
کد PHP:
        private void button1_Click(object sender, EventArgs e) 
        { 
            //بخش محاسبه طول ورودی 
            int intlength; 
            intlength = txtstring.Text.Length; 
            lbllength2.Text = intlength.ToString(); 
            //بخش محاسبه نیمه اول ورودی 
            int half; 
            half = intlength / 2; 
            lblhalf2.Text = txtstring.Text.Substring(0, half); 
        }  
 
برنامه مورد نظر به شکل گفته شده پیاده سازی شد و ضمیمه شد .

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

دستور if :.
 
برای اینکه ما در برنامه هایی که می نویسیم شرطی را چک کنیم از دستور if استفاده می کنیم . به صورتی که شرطی را مقابل این دستور قرار می دهیم اگر شرط برقرار بود دستورات داخل if اجرا می شوند در غیر این صورت این دستورات نادیده گرفته می شود .
 
شکل کلی این دستور بدین گونه است :
 
کد PHP:
            if( ) 
            { 
               Syntax; 
            }  
 
به طور مثال ما می خواهیم شرطی را بررسی کنیم که اگر متغیر n کوچک تر و مساوی 100 بود مقدار n را در خروجی چاپ کند . شرط ما به شکل زیر می شود :
 
 
کد PHP:
            int n; 
            n = 40; 
            if (n <= 100) 
            { 
                MessageBox.Show("N Value :" + n); 
            }  
 
همانطور که دیدید مقدار n در شرط با مقدارش بررسی شد . 
 
 
دستور if - else :.
 
 
گاهی اوقات در برنامه هایی که می نویسیم احتیاج داریم که زمانی شرط ما True یا صحیح بود یک سری دستورات اجرا شوند و در صورت False یا غلط بودن شرط از یکسری دستورات دیگر اجرا شوند .
 
در این صورت ما از دستور if - else استفاده می کنیم . در مقابل if یک شرط بررسی می شود اگر شرط صحیح بود دستورات داخل بلوک if را اجرا می کند در غیر اینصورت دستورات داخل بلوک else را اجرا می کند . 
 
شکل کلی دستور اینگونه است :
 
 
کد PHP:
            if( ) 
            { 
               Syntax; 
            } 
            else 
            { 
                Syntax; 
            }  
 
این دستور هم به سادگی دستور if است . به طور مثال من یک مقدار به متغییر m می دهم و بررسی می کنم که اگر بزرگتر از 5 بود یک پیغام خاص بدهد در غیر اینصورت یک پیغام دیگر بدهد :
 
 
کد PHP:
            int m; 
            m = 4; 
            if (m > 5) 
            { 
                MessageBox.Show(" Larger :" + m); 
            } 
            else 
            { 
                MessageBox.Show(" Less :" + m); 
            }  
 
دستور else - if :.
 
 
برای پیاده سازی شرط های تو در تو ما از دستور else - if استفاده می کنیم . زمانی که ما می خواهیم در یک شرط n تا شرط دیگه رو بررسی کنیم از این دستور استفاده می کنیم
 
بدین صورت که شرط مقابل if بررسی می شود رد صورت صحیح بودن دستورات بلوک if اجرا می شود در صورت صحیح نبودن شرط به بلوک بعدی که else - if هست می رود و شرط مقابل else - if بررسی می شود و صحیح یا غلط بودن چک می شود و به همین شکل تا n تا بلوک جلو می رود .
 
شکل کلی این دستور بدین گونه است :
 
 
 
کد PHP:
          if () 
            { 
                Syntax; 
            } 
            else if() 
            { 
                Syntax; 
            } 
            else if() 
            { 
                Syntax; 
            } 
            . 
            . 
            . 
            n  
 
در این مثال من یک شرط رو به صورت پی در پی بررسی می کنم تا شرط برقرار شود :
 
کد PHP:
            int a; 
            a = 27; 
            if (a <= 5) 
                MessageBox.Show(" One if : " + a); 
            else if (a <= 10) 
                MessageBox.Show(" Two if : " + a); 
            else if (a <= 20) 
                MessageBox.Show(" Three if : " + a); 
            else if (a <= 30) 
                MessageBox.Show(" Four if : " + a);  
 
همان طور که مشاهده کردید در این برنامه دستورات if را داخل {} نزاشتم زمانی دستورات رو داخل {} می زارند که از یک دستور بیشتر داشته باشیم . در مثال های قبلی هم اگر این کار رو کردم می خواستم برنامه های بخش بندی بشه تا درک مطلب برای شما ساده تر شود .

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

دستور Switch :.
 
دستور سویچ کاربرد های زیادی دارد به خصوص زمانی که می خواهید فرم هایی با کنترل های Drop Down List و ... بسازید . این دستور یک پارامتر را می گیرد و می تواند n مقایسه داشته باشید که به هر کدام یک case گفته می شود . 
 
در مثال زیر این دستور را بررسی می کنیم با استفاده از دستور زیر مدرک تحصیلی کاربر در متغییری قرار می گیرد که در نهایت فرم مقدار انتخاب شده وارد دیتابیس بشود :
 
کد PHP:
          switch (drpLevel.SelectedIndex) 
           **  
                case 0: 
                    level = "زیر دیپلم "; 
                    break; 
                case 1: 
                    level = "دیپلم"; 
                    break; 
                case 2: 
                    level = "فوق دیپلم"; 
                    break; 
                case 3: 
                    level = "لیسانس"; 
                    break; 
                case 4: 
                    level = "فوق لیسانس"; 
                    break; 
                case 5: 
                    level = "دکترا"; 
                    break; 
            }  
 
 
خوب در کد بالا من یک Drop Down List قرار دادم همانطور که مشاهده می کنید ورودی switch را ما خاصیت SelectedIndex از این کنترل قرار داده ایم . drpLevel هم نام کنترل ما هست . 
 
خاصیت SelectedIndex اندیس گزینه انتخاب شده را بر می گرداند . 
 
خوب در درستور ما case ها را از 0 شروع کردیم که اولین مدرک ما هست داخل کنترل ما با دستور زیر :
 
کد PHP:
                case 0: 
                    level = "زیر دیپلم";  
 
ما یک متغیر رشته ایم level دارم که مدرک انتخاب شده توسط کاربر را داخلش می ریزیم در اینجا ما گفتیم اگر اندیس انتخاب شده 0 بود یعنی مدرک زیر دیپلم هست این رشته را در متغییر ما قرار بده . در اینجا کار ما به اتمام رسیده است و نیاز به چک کردن بقیه مقادیر نیست و باید از دستور زیر استفاده کنیم :
 
کد PHP:
break;  
 
این دوستور باعث تمام شدن switch و خارج شدن از این بلوک می شود . 
 
در این دستور شما می توانید هر تعداد case که بخواهید تعریف کنید . 
 
دستور دیگه ای که در switch مورد استفاده قرار می گیرد دستور زیر است :
 
کد PHP:
default:  
 
این دستور آخرین دستور در بدنه switch تعریف می شود . که اگر هیچ کدام از case ها اجرا نشد دستور زیر مجموعه default اجرا می شود .
 
 
دستور for :.
 
 
یکی از دسنورات معرف همه for که یکی از حلقه ها است . این دستور 3 پارامتر تنظیم دارد که از چپ به راست ( گام اول ، شرط پایان ، گام حرکت ) این مقادیر به عنوان پارامتر داده شده و در بدنه می توانیم دستورات خودمان را بنویسیم . 
 
در مثال زیر ما یک listbox قرار داده ایم و این لیست باکس را با این حلقه پر می کنیم :
 
کد PHP:
            for (int i = 0; i < 100; i++) 
            ** 
                lstdata.Items.Add(i);    
            }  
 
خوب دستور را بررسی می کنیم . گام شروع ما همون i است که از صفر شروع می شود . شرط پایان حلقه هم تا زمانی است که متغییر i ما کوچکتر از 100 باشد که همان 99 می شود . گام حرکتی ما هم یکی یکی است که به مقدار i اضافه می شود . 
 
خوب در بدنه ما تنها به خاصیت item لیست باکس مقدار i را اضافه می کنیم که خروجی اعداد صفر تا 99 است که در لیست باکس جا می گیرد . 
 
در رابطه با for و for های تو در تو در آمورش های بعدی بیشتر صحبت خواهیم کرد .

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

طبق درخواستی که از مدیر بخش Ali_Eagle عزیز داشتم تا این تاپیک رو مجددا باز کنن منم می خوام تو پربارتر شدنش تلاش کنم.
 
درسته یکم لحن گفتاری عوض میشه ولی اینو دیگه باید شما و خود Ali_Eagle عزیز ببخشین.
 
تو این درس می خوام شمارو با ساختارهای تکرار آشنا کنم. ساختار های تکرار ساختارهایی هستند که ما می خواهیم تعداد مشخصی عملیات را با شروط مختلف اجرا کنیم. مثلا می خواییم یه عبارتی چند بار اجرا بشه یا عبارتی چند بار در عبارت دیگر ضرب بشه یا وقتی می خواهیم عبارتی تا زمانی که عبارت دیگر برقرار است تکرار بشه و ...
 
یکی از این ساختار ها دستور while هست. شکل کلی این دستور مطابق زیر است :
 
کد PHP:
While (عبارتی که می خواهیم برقرار باشد)  
{ دستوراتی که می خواهیم اجرا شوند }  
از while زمانی استفاده می کنیم که می خواهیم تا زمانی که یک عبارت برقرار است دستورات ما اجرا شوند.این عبارت رو در داخل پرانتز بعد از while می نویسیم و دستوراتمون رو بعد از پرانتز ها داخل کروشه که مشخص کردم.
 
یه مثال براتون میزنم تا بیشتر متوجه بشین . ما می خواهیم عددی مثل 1 ده بار نشون داده بشه . برای اینکار میتونیم مثل زیر عمل کنیم :
 
کد PHP:
int i; 
i=0; 
while (i<10) 
messagebox.show("1"); 
i=i+1; 
}  
به یه نکته ای توجه داشته باشین که ما برای این کار از یک متغیر کمکی استفاده کردیم تا بتونیم ده بار عدد یک رو نشون بدیم. متغیر i رو در داخل دستورات هربار یک واحد افزایش میدیم تا این که وقتی شرط i<10 دیگه برقرار نباشه.به این نکته توجه کنید که اگر ما این شرط رو قرار نمیدادیم و به جای شرط قرار میدادیم 1 یا true این حلقه هیچ گاه تموم نمیشد و ما شاهد حلقه بینهایت بودیم. همیشه در استفاده از این نوع ساختارها حتما چک کنید تا مطمئن شوید این حلقه ها حتما پایان پذیر هست.

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

 
نوع دیگر دستور while دستور do ... while هستش.
 
تنها تفاوت این دوتا در اینه که دستور do ... while حتما یک بار اجرا میشه و بعد شرط بررسی میشه که ببینه آیا میتونه دوباره دستورات رو اجرا کنه یا نه . ولی در دستور while اینطور نبود و ممکن بود شرط درست نباشد و دستورات انجام نشوند.
 
شکل کلی این دستور اینطوره :
 
کد PHP:
do 
دستورات 
while 
عبارت شرطی 
)  
با این دستور میتونیم کنترل بیشتری داشته باشیم و کدهای منعطف تری رو ایجاد کنیم.
 
مثال بالا به شکل دیگر:
 
کد PHP:
int i ; 
i = 0; 
do 
messagebox.sshow("1"); 
i = i+ 1 ; 
while 
i<10 
}  
یه دیاگرام هم براتون پیوست می کنم که درباره این ساختار هستش.

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

می رسیم به یکی دیگه از دستورات تکرار که خیلی مفید و مورد استفاده زیاد است.
 
این دستور for میباشد و زمانی به کار میره که ما دقیقا میدونیم باید حلقمون چند بار تکرار بشه .
 
تقریبا میشه گفت در هر برنامه ای از for استفاده شده پس سعی کنید این دستور رو خوب و کاربردی یاد بگیرید.
 
میرم سراغ توضیحاتش :
 
نحو کلی این دستور :
 
کد PHP:
for ( 
<initialization>;  
<condition>;  
<operation>) 
<code to loop> 
}  
 
توجه : هر یک از قسمت هارو به ترتیب اجرا بررسی می کنم.
 
 
<initialization>: این قسمت فقط یک بار اجرا میشه و در اون متغیرها تعریف میشن.(همون متغیر کنترلی برای کنترل حلقه)
 
 
<condition>: عبارت کنترلی که تا زمانی که اون برقرار باشه حلقه تکرار میشه.
 
 
<code to loop> محل قرار گرفتن دستورات.
 
 
<operation>: بعد از اجرای دستورات حلقه به این قسمت مراجعه می کند و دستوراتی را که می خواهیم به متغیر کنترلی اعمال کنیم اجرا می کند. معمولا یک واحد به آن اضافه یا کم می شود.
 
 
با یک مثال عملی در ویژوال استودیو خودتون اینو انجام بدین.
 
 
طبق آموزش های اول تاپیک اقدام به ایجاد یک فرم بکنید و یک button به نام btnFor و یک listbox به نام lstFor ایجاد کنید. می خواهیم با دستورات for اعداد صفر تا نه را در listbox نشان دهیم.با استفاده از کد زیر این کار رو انجام بدین.ظاهر و اندازه های فرم خودتون رو مطابق میلتون تغییر بدید و سپس روی button دو بار کلیک کنید و کد زیر رو در اون قرار بدید.
 
 
کد PHP:
for ( int i =0 , i < 10 ; i++) 
lstfor.items.add(i); 
}  
در قسمت تعریف متغیر یک متغیر به نام i ایجاد کردیم و مقدار اولیه صفر رو بهش اختصاص دادیم. بعد شرط کنترلی i<10 رو انتخاب کردیم برای برناممون و یک دستور که کارش اضافه کردن محتوی متغیر i به لیست باکس هست رو قرار دادیم.متغیر کنترلی i رو در قسمتش یک بار افزایش دادیم تا برنامه بتواند تا زمانی که i به ده نرسیده تکرار شود.
 
 
این حلقه ده بار تکرار می شود و هربار مقدار متغیر را در لیست باکس اضافه می کند.( البته زمانی که روی دکمه کلیک کنید) توصیه می کنم حتما این کار رو خودتون انجام بدین تا بتونید راحت تر به برنامه نویسیتون ادامه بدید.
 
خلاصه : i تعریف و مقداردهی اولیه می شود. شرط چک می شود و بعد دستور اجرا می شود. بعدا یک واحد یه i اضافه می شود. این تکرار ها ده بار انجام میشن تا نتیجه کار ما نمایش اعداد صفر تا نه در لیست باکس باشد.

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

ساختارهای داده ای:
 
 
امروز می خوام شمارو با ساده ترین نوع ساختار داده آشنا کنم.
 
 
آرایه:
 
 
آرایه به مجموعه ای از متغیرهای همنوع گفته میشه که ما می خواهیم به صورت دسته جمعی در کنار یکدیگر باشند.شاید این تعریف من اشکال داشته باشه یا ناقص ولی برای شروع کار مناسبه.
 
 
در برنامه نویسی ما مواقعی احتیاج داریم یک سری داده هامون رو به صورت یکجا ذخیره کنیم و از اونا استفاده کنیم.در این زمان ها آرایه ها بهترین انتخاب هستند.مثلا می خواهیم یک مجموعه اعداد صحیح رو یکجا نگه داری بکنیم تا بتونیم با اونا راحت تر کار کنیم و دسته بندیشون کنیم.
 
 
برای مثال آرایه ای از اعداد صحیح میتونه مفهوم نمرات درسی یک دانش آموز باشه به صورت خام. یا یک آرایه از نوع رشته که اسم دوستان شمارو توش ذخیره می کنه.
 
 
هنگام تعریف آرایه باید اندازه اون رو هم در نظر بگیرید.
 
 
تعریف آرایه طبق شکل مقابل انجام میشود
 
 
کد PHP:
Type_of_array[] name_of_array;  
Type_of_array:نوع آرایه را مشخص می کند.
 
name_of_array:نام آرایه را مشخص می کند.
 
 
یک مثال :
 
 
کد PHP:
string[] Dustan;  
با استفاده از دستور بالا فقط یک آرایه از نوع رشته اختصاص میابد ولی ایجاد نمی شود.
 
 
برای ایجاد و اختصاص حافظه به آرایه از دستور new به شکل زیر استفاده می شود.
 
 
کد PHP:
Dustan = new string(5);  
در دستور بالا 5 خانه از حافظه به وسیله عملگر new از نوع رشته به آرایه Dustan اختصاص میابد.
 
 
دو دستور بالا را میتوانید در یک خط ایجاد کنید :
 
 
کد PHP:
string Dustan = new string (5);  

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
saeidfarajpour
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

دستور foreach :
 
 
یکی از ویژگی های خوبی که در سی شارپ نسبت به سی پلاس پلاس در کار با آرایه ها اضافه شده همین دستوره.
 
 
با این دستور ما میتوینم بدون دانستن اندازه آرایه در طول آرایه حرکت کنیم. این ویژگی زمانی به درد میخوره که ما میخواهیم با استفاده از یک کد در تمام محتوای آرایه گردش کنیم و تمامی اطلاعات اون رو یا تغییر بدیم یا بخونیم و یا هر عمل دیگه.
 
نحو دستور به شکل مقابله :
 
کد PHP:
foreach (type identifier in expression)  
statement 
}  
type identifier : در این قسمت ما یک متغیر کمکی ایجاد می کنیم.
in : کلمه کلیدی و رزرو شده
expression : محل قرار گیری آرایه به کار رفته
 
طریقه استفاده :
 
با استفاده از یک متغیر کمکی که در محل گفته شده از نوع عناصر داخل آرایه است تعریف می شود و با قرار دادن نام آرایه بعد از کلمه کلیدی in میتوانیم به تک تک عناصر آرایه دستیابی پیدا کنیم و در قسمت کدها عمل مورد نظر خود را انجام دهیم.
 
یک مثال ساده :
 
کد PHP:
foreach ( string i in Dustan ) 
Console.WriteLine( i.ToString( ) );  
مثال ساده بالا یک بار در آرایه دوستان که قبلا ایجاد کردیم عنصر به عنصر گردش می کند و هر بار همان عنصر را در خروجی چاپ می کند.

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 150653
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET

دستیابی به عناصر آرایه :
 
همونطور که در بالا آرایه رو شناختیم باید بتونیم با اطلاعات اون کار کنیم تا ازون استفاده کنیم.
 
همونطور که گفتم آرایه مجموعه ای از متغیرهای همنوع است که در کنار هم ذخیره میشن. حالا اگه بخواهیم به عناصرش دسترسی پیدا کنیم باید اینو بدونیم که اگر یک آرایه به اندازه 5 ایجاد کردیم عناصر این آرایه از 0 تا 4 شماره گذاری میشن و باید برای دسترسی به عنصر مثلا سومی باید به شماره 2 در آرایه مراجعه کنیم.
 
حالا چطور مراجعه کنیم؟
 
برای دستیابی به عناصر به صورت مقابل عمل می کنیم:
 
کد PHP:
Dustan [2] = "ALI" ;  
در کد بالا ما از آرایه ای که قبلا ایجاد کرده بودیم استفاده کردیم و به عنصر سوم این آرایه اسم ALI رو اضافه کردیم.
 
همونطور که میبینید درون کادر دستیابی به آرایه از شماره 2 استفاده کردیم.
 
همیشه اینو در نظر داشته باشید که برای دستیابی به یک شماره از آرایه باید اون عدد رو منهای یک کنید و بعد.ولی هنگام ایجاد باید عدد اصلی رو وارد کنید.
 
یکم اوایل براتون گیج کننده میشه ولی بعدا میبینید که این نوع آدرس دهی بهتر بود.
 
یه مثال دیگه :
 
کد PHP:
string name; 
name = Dustan [2] ;  
در مثال بالا یک متغیر از نوع رشته ایجاد کردیم و عنصر سوم آرایه بالایی رو درون قرار دادیم. حالا این متغیر به نام name حاوی رشته ALI است.

💮 صبور باش 💮
 🌱چیزایِ خوب زمان می برن🌱

پنج شنبه 24 اردیبهشت 1394  3:34 PM
تشکرات از این پست
دسترسی سریع به انجمن ها