بایگانی دسته: #C

C# 2

آموزش برنامه نویسی #C – حلقه های foreach

در استفاده روزمره از حلقه for در برنامه ها ، کمتر از این حلقه به نحوی که شرح داده شد استفاده می شود. به علت نحوه کارکردی که چارچوپ NET. دارد،معمولا در برنامه ها با نع خاصی از این حلقه که foreach نامیده می شود بیشتر کار خواهیم کرد .
در الگوریتم برنامه ها عموما هنگامی از یک حلقه استفاده می کنید که مجموعه ای از اشیا را در اختیار داشته باشید و بخواهید بین اعضای آن جابه جا شوید، که این مجموعه هم اغلب به صورت یک آرایه است. برای مثال ممکن است بخواهید بین تمام فایل های درون یک فولدر بگردید وفایلی را پیدا کنید که اندازه آن بیش از حد مجاز است . هنگامی که از چارچوب NET. بخواهید که لیست تمام فایلها را به شما برگرداند ، یک آرایه از اشیاء را دریافت خواهید کرد که هرکدام از اعضای آن نشان دهنده ی یک فایل است . در ادامه حلقه داخل برنامه خود را به نحوی تغییر خواهید داد که نام تمام فولدرهای داخل درایو C شما را برگرداند .

حلقه foreach
۱) کنترل Button جدیدی به برنامه اضافه کنید ، خاصیت Name آن را برابر btnForEachLoop و خاصیت Text آن را برابر ForEach Loop قرار دهید .
۲) روی این کنترل دو بار کلیک کنید و کد زیر را در متد مربوط به رویداد Click آن وارد کنید :

۳) برنامه را اجرا کنید و روی دکمه ForEach Loop کلیک کنید . در ListBox نام تمام فولدرهای موجود در درایو C خود را مشاهده خواهید کرد .

چگونه کار می کند

برای به دست آوردن لیست تمام دایرکتوری های موجود در یک مسیر خاص در برنامه باید از تابع GetFirectories مربوط به کلاس Directory در فضای نام System.IO استفاده کنیم. این تابع یک آرایه رشته ای از نام تمام دایرکتوری های موجود در مسیری که برای آن مشخص شده است را برمی گرداند . در این برنامه از این تابع برای دریافت تمامی دایرکتوری های موجود در درایو C استفاده کردیم .
اصل کار حلقه foreach به این صورت است که به وسیله ی آن شما می توانید در بین تمام اشیای موجود در یک آرایه خاص که تعداد آن را نیز نمی دانید حرکت کنید برای ایجاد این حلقه به منبعی از اشیا نیاز دارید ویک متغییر کنترل کننده که در هر مرحله ، شی مورد بررسی در آن قرار خواهد گرفت. در این مثال تابع GetDirectories, ارایه ای از اشیا را به عنوان منبع برای حلقه foreach فراهم می کند و متغیر strFolder به عنوان متغییر کنترل کننده به کار می رود

سی شارپ #C

آموزش برنامه نویسی #C _انعطاف پذیری حلقه for

۱) ابتدا کنترل Button دیگری روی فرم برنامه قبلی اضافه کنید.خاصیت Name آن را برابر btnNewForLoop و خاصیت Text آن را برابر New For Loop قرار دهید.
۲) روی این کنترل دو بار کلیک کنید و کد زیر را در متد مربوط به رویداد Click آن وارد کنید.

۳)برنامه را اجرا کنید و روی دکمه New For Loop جدید کلیک کنید. نتیجه مشابه شکل زیر دریافت می کنید.
آمزش برنامه نویسی C#

چگونه کار می کند ؟
به تعریف حلقه for در این مثال توجه کنید:

نکته اولی که در این حلقه وجود دارد تعریف متغییر intcont در خود حلقه است. این مورد باعث می شود برنامه هنگامی که به حلقه رسید متغییری به نام intcont تعریف کند و برای شمارش درون حلقه از آن استفاده کند . هنگامی که کار حلقه به پایان رسید ، متغییر نیز از بین خواهد رفت و فضای اشغال شده توسط آن آزاد می شود. در مرحله بعد، به جای استفاده از عدد ۱ به عنوان مقدار شروع ، از عدد ۴ استفاده کرده ایم. در حقیقت در اولین دوره اجرای حلقه مقدار intcont برابر عدد ۴ است و بنابرین اولین مورد اضافه شده به لیست عدد ۴ خواهد بود . همچنین در هر مرحله از اجرای حلقه ، ۷ واحد به مقدار intcont افزوده می شود .به همین دلیل ، دومین موردی که به لیست اضافه می شود عدد ۱۱ است ، نه عدد ۵٫
با وجود اینکه حلقه باید در عدد ۶۲ به پایان برسد . اما مشاهده می کنید که حلقه در عدد ۶۰ به پایان می رسد. زیرا عدد بعد از آن ،۶۷ خواهد بود که از ۶۲ بزرگتر است. بنابراین حلقه برای مرتبه نهم اجرا نخواهد شد.
شمارش معکوس در حلقه:
اگر در هر مرحله از اجرای حلقه عددی را از شمارنده ی آن کم کنید ، حلقه به صورت معکوس حرکت خواهد کرد.
۱) اگر هنوز برنامه قسمت قبل در حال اجراست آن را ببندید و سپس کنترل Button دیگری به فرم اضافه کنید . خاصیت Name آن را برابر btnBackwardsForLoop و خاصیت Text آن برابر Backwards For Loop
قرار دهید .

۳) برنامه را اجرا کنید و روی دکمه Backwards For Loop کلیک کنید . نتیجه ای مشابه شکل زیر مشاهده خواهید کرد.
آموزش برنامه نویسیC#
همانطور که در قسمت سوم تعریف حلقه مشاهده می کنید ، در هر مرتبه اجرای حلقه ، استفاده از عملگر — موجب می شود یک واحد از مقدار intcont کم شود . چون مقدار اولیه این متغییر برابر ۱۰ در نظر گرفته شده است ، حلقه ۱۰ بار اجرا می شود و از عدد ۱۰ به صورت معکوس به عدد ۱ می رسد و اجرای حلقه تمام می شود .

سی شارپ #C

آموزش برنامه نویسی #C – حلقه ها

با سلام در این جلسه میخوام ادامه مبحث حلقه ها را براتون توضیح بدهم با ما همراه باشید

چگونه کار می کند

در ابتدای متد مربوط به رویداد کلیک، متغییری را به صورت زیر تعریف می کنیم :

برای ایجاد یک حلقه باید از کلمه کلیدی for استفاده کنید.این کلمه به کامپایلر ویژوال #C میگویید که میخواهید یک حلقه با تعداد دفعات تکرار مشخص ایجاد کنید . تمام کلمات و علامتهایی که بعد از این کلمه می آیند ، برای مشخص کردن نحوه عملکرد این حلقه به کار می روند . برای تعیین نحوه کارکرد یک حلقه ، سه مورد را باید در جلوی آن مشخص کنید . این سه مورد ، همانطور که در کد مشاهده می کنید با کاراکتر “;” از یکدیگر جدا می شوند.

آموزش زبان برنامه نویسی C#

در قسمت اول باید مشخص کنید که از چه متغییری می خواهید برای شمارش دفعات تکرار در این حلقه استفاده کنید . همچنین در این بخش مقدار اولیه متغییر را نیز تعیین کنید . به عبارت دیگر در این قسمت باید مشخص کنید که می خواهید شمارش در حلقه از چه عددی شروع شود . در این مثال برای شمارش حلقه از متغییر intCount که در خط قبل تعریف کردیم ، استفاده می کنیم و مقدار اولیه آن را نیز ۱ تعیین میکنیم تا شمارش حلقه از عدد یک شروع شود .
در قسمت دوم باید تعیین کنیم که حلقه ، شمارش را تا چه عددی ادامه دهد . در این مثال تا زمانی که متغییر intCount کوچکتر و یا مساوی ۵ است شمارش ادامه پیدا می کند . توجه داشته باشید که برای شرط این قسمت ازهر یک از عملگرهایی که در بخش قبل معرفی کردیم همانند عملگر بزرگتر مساوی و یا عملگر کوچکتر و … می توانید استفاده کنید .
در قسمت آخر مشخص کنید که مقدار متغییر در هر مرحله باید چه تغییری کند. در این مثال می خواهیم مقدار متغییر را در هر مرحله از اجرای حلقه یک واحد افزایش یابد. بنابراین در این قسمت مقدار متغییر را با عدد یک جمع کنیم.
از توضیحات قبلی مشخص است که این حلقه از عدد یک شروع به شمارش می کند وتا عدد ۵ شمارش را ادامه می دهد ودر هر مرحله نیز یک واحد متغییر اضافه می کند .بنابراین دستورات داخل حلقه پنج بار اجرا می شوند.
دوستان گرامی امیدوارم از این قسمت به خوبی استفاده کرده باشید ، شما دوستان عزیز می توانید نظرتون رو از طریق بیان دیدگاه ها با من و دیگر همکارانم به اشتراک بگزارید، همچنین می توانید از طریق صفحه ی ما در اینستاگرام به همین نشانی ما رو دنبال کنید.

سی شارپ #C

آموزش برنامه نویسی #C – حلقه ها

هنگامی در حال نوشتن یک برنامه کامپیوتری هستید، ممکن است بخواهید یک عمل مشخص را چندین بار متوالی انجام دهید تا نتیجه مطلوب خود را دریافت کنید . مثلا ممکن است بخواهید صورت حساب تلفن را برای تمام مشترکین بدست آورید و یا ۱۰ فایل را از روی کامپیوتر بخوانید.
در برنامه نویسی ، برای انجام این امور معمولا از حلقه ها استفاده می شود. دراین بخش با سه دسته کلی از حلقه ها که در #C وجود دارند آشنا خواهیم شد.
۱) حلقه های for – این حلقه ها معمولا به تعداد مرتبه شخصی اجرا می شود(برای مثال ، ۱۰ بار).
۲) حلقه های while – این حلقه ها معمولا تا هنگامی که نتیجه یک شرط در ست شود ادامه پیدا می کنند.
۳) حلقه های do – عملکرد این حلقه ها نیز همانند حلقه های while است، با این تفاوت که شرط در حلقه های while در ابتدا بررسی می شود ولی در این حلقه ها، شرط در انتها بررسی می شود.
حلقه های for:
حلقه for حلقه ای است که درک نحوه کارکرد آن بسیار راحت است. در قسمت های بعد ، با این دستور آشنا خواهیم شد.

ایجاد یک حلقه for
۱) یک پروژه ویندوزی جدید به نام Loops ایجاد کنید.
۲) در فرمی که ظاهر می شود یک ListBox و یک کنترل Button اضافه کنید .
۳) خاصیت Name مربوط به ListBox را برابر lstData و خاصیت IntegerlHeight آن برابر false قرار دهید.
۴) خاصیت Name مربوط به دکمه فرمان Button را برابر btnForLoop و خاصیت Text
آن را برابر For Loop قرار دهید. مانند شکل زیر:
آموزش برنامه نویسی C#
۵) بر روی دکمه فرمان دو بار کلیک کنید تا متد مربوط به رویداد Click آن ایجاد شود. سپس کد زیر را در آن وارد کنید :

۶) برنامه را اجرا کنید و بر روی دکمه for Loop کلیک کنید.
ادامه این مطلب در قسمت بعد ……..
دوستان گرامی امیدوارم از این قسمت به خوبی استفاده کرده باشید ، شما دوستان عزیز می توانید نظرتون رو از طریق بیان دیدگاه ها با من و دیگر همکارانم به اشتراک بگزارید، همچنین می توانید از طریق صفحه ی ما در اینستاگرام به همین نشانی ما رو دنبال کنید.

سی شارپ #C

آموزش برنامه نویسی #C -کنترل روند اجرایی برنامه

در قسمت های قبل در مورد الگوریتم ها و کاربرد آنها در نرم افزار مطالبی را آموختید. در این قسمت نحوه کنترل روند اجرایی برنامه در طول این الگوریتم ها را مشاهده خواهید کرد. برای مثال خواهید دید که چگونه می توانید تصمیماتی از قبیل ” اگر X به این حالت بود،A را انجام بده در غیر این صورت B را انجام بده” را در برنامه ی خود پیاده کنید . این قابلیت در الگوریتم برنامه ها به عنوان انشعاب شناخنه می شود. همچنین در این قسمت و قسمت های بعد مشاهده خواهید کرد چگونه می توانید یک قطعه کد را به تعداد مرتبه مشخص و یا تا زمانی که یک شرط درست است اجرا کنید.
خصوصا در این قسمت و قسمت های بعد در مورد موارد زیر صحبت خواهیم کرد:
۱) دستور if
۲)شامل switch
۳) حلقه های for و foreach
۴) حلقه های while و until
تصمیم گیری در برنامه :
الگوریتم ها همواره دارای تصمیماتی هستند . در واقع ، این تصمیمات است که باعث می شود که کامپیوتر بتواند وظیفه خود را به خوبی انجام دهد. هنگام کد نویسی با تصمیم گیری های زیادی مواجه می شوید . مثلا فرض کنید که لیستی شامل ده نام در اختیار شما قرار داده اند و باید کدی بنویسید که به اعضای این لیست نامه ای را بفرستید. در هر قسمت از این کد می پرسید ” آیا لیست تمام شده است؟” اگر چنین بود الگوریتم تمام می شود . در غیر این صورت نام نفر بعدی از لیست استخراج می شود و مراحل ارسال نامه برای او انجام می شود . به عنوان مثالی دیگر ممکن است که بخواهید فایلی را باز کنید . در این حالت ابتدا می پرسید : آیا فایل مورد نظر وجود دارد ؟”. در صورت وجود فایل را باز می کنید و در غیر این صورت الگوریتم را به اتمام می رسانید.
تمام این تصمیم گیریها به یک نحو در برنامه پیاده سازی می شود. در ابتدا به بررسی دستور if برای کنترل روند اجرای برنامه می پردازیم .
دستور if ;
راحت ترین راه برای تصمیم گیری در ویژوال استودیو استفاده از دستور if است. در قسمت پایین با نحوه کاربرد این دستور آشنا خواهید شد.
یک دستور if ساده
۱) یک برنامه تحت ویندوز به نام Simple If ایجاد کنید . سپس با استفاده از جعبه ابزار یک کنترل Button بر روی فرم قرار داده ، خاصیت Name آن را برابر btnIf و خاصیت Text آن برابر If قرار دهید . روی این کنترل دو بار کلیک کنید و کد زیر را در آن وارد کنید.

۲) برنامه را اجرا کنید و بر روی دکمه فرمان If کلیک کنید. کادر پیغامی را مشابه شکل زیر خواهید دید.
آموزش برنامه نویسی C#
چگونه کار می کند؟
در ابتدا یک متغییر به نام intNumber ایجاد می کنید و مقدار آن برابر۲۷ قرار می دهید( همانطور که می بینبد هم تعریف متغییر و هم مقدار دهی اولیه به آندر یک خط انجام شده است):

سپس با استفاده از دستور if مشخص می کنید که باید چه کاری انجام دهید . در اینجا شما می گویید” اگر intNumber برابر با ۲۷ بود …”.

قطعه کدی که درون آکولاد پایین دستور if قرار دارد فقط هنگامی اجرا می شود که intNumber برابر با ۲۷ باشد ، به عبارت دیگر هنگامی که شرط داخل پرانتز برابر true و یا درست باشد، کد داخل بلاک if اجرا می شود.
بنابر این در اینجا ، اجرای برنامه شروع می شود و به دستور if می رسید . بعد از ارزیابی عبارت داخل پرانتز چون مقدار آن برابر با true است. دستورات درون بلاک if اجرا می شود و سپس اجرای برنامه از خط بعد از بلاک if ادامه پیدا می کند .
یک دستور if ساده همانند قسمت قبل می تواند بدون هیچ آکولادی نوشته شود . البته این کار هنگامی امکان پذیر است که بلاک if فقط شامل یک دستور باشد. به کد زیر نکاه کنید:

این دستور هم مانند دستور if در برنامه قبلی کار می کند و مزیت آن فقط این است که کد را کوتاهتر می کند . اما اگر نتیجه یک شرط نادرست باشد، چه اتفاقی می افتد؟ ادامه در جلسه بعدی ……

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

سی شارپ #C

آموزش برنامه نویسی #C – دستور Else

با سلام و خسته نباشید به شما دوستان گرامی امروز میخوام در مورد دستور Else که ادامه جلسات قبله را براتون توضیح بدم با ما همراه باشید

دستور Else:
اگر بخواهید در صورت درست بودن شرط قسمتی از برنامه ودر صورت غلط بودن آن قسمتی دیگر اجرا شود، می توانید از دستور else استفاده کنید . در امتحان کنید زیر می توانید نحوه کاربرد این دستور را مشاهده کنید.
امتحان کنید : دستور else
۱) کد درون رویداد Click مربوط به کنترل btnAnotherIf را به صورت زیر تغییر دهید :

۲) برنامه را اجرا کنید و روی دکمه Another If کلیک کنید . کادر پیغامی مشابه شکل زیر مشاهده خواهید کرد
آموزش زبان برنامه نویسیی C#
چگونه کار می کند؟

کدی که در بلاک else وارد شده است ، فقط در صورتی اجرا می شود که عبارت درون پرانتز if نادرست باشد . در این حالت مقدار intNumber برابر با ۲۷ است ، اما چون در شرط با عدد ۱۰۰۰ مقایسه شده است بنابراین شرط غلط است و کد نوشته شده در بخش else اجرا خواهد شد:

بررسی چند شرط با else if :
اگر می خواهید بیش از یک حالت را تست کنید ، باید از ترکیب دستور else ، if استفاده کنید .در امتحان کنید بعدی ، برنامه simple If را به نحوی تغییر می دهیم که برابری intNumber را با چند عدد مختلف بررسی کند و نتیجه را نمایش دهد .
امتحان کنید: دستور else if
۱) کد درون متد btnAnotherIf_Clickرا به صورت زیر تغییر دهید:

۲) برنامه رو اجرا کنید و روی دکمه فرمان Another If کلیک کنید . کادر پیغامی مشابه شکل زیر را خواهید دید .
اموزش زبان برنامه نویسی C#
چگونه کار می کند ؟
در این برنامه دستورات بخش else if اجرا می شوند ، زیرا intNumber برابر با عدد ۲۷ است و بنابراین عبارت داخل else if درست خواهد بود . توجه داشته باشید که اگه شرط داخل else if نیز غلط بود ، کدهای بخش else اجرا می شدند .
در یک سری دستورات if و else if متوالی ، شرایط از بالاترین if به سمت پایین بررسی می شوند و اولین عبارتی که درست ارزیابی شد ، دستورات مربوط به آن اجرا می شوند پس در برنامه قبل اگر شرط اول را به گونه ای تنظیم کنیم که درست باشد ، با وجود اینکه شرط دوم هم درست است دستورات شرط اول اجرا می شوند و کنترل برنامه به اولین خط بعد از سری دستورات هب می رود .

شما می توانید به هر تعداد که بخواهید قسمتهای else if برای بررسی حالتهای مختلف اضافه کنید .اما همانطور که ذکر شد ، هنگامی که ویژوال #C به اولین دستور if رسید شرط داخل آن را بررسی می کند . اگر عبارت داخل پرانتز درست ارزیابی شود . دستورات داخل بلاک if اجرا می شوند و کنترل برنامه به اولین خط بعد از سری دستورات else , if می رود در غیر این صورت ، عبارت مربوط به اولین else if ارزیابی می شود . این روند ادامه پیدا می کند تا برنامه به بلاکی از دستورات برسد که حاصل آن درست باشد . در این حالت دستورات این بلاک اجرا شده و کنترل برنامه به بعد از مجموعه دستورات if و else می رود.

C

آموزش برنامه نویسی #C – انتخاب نام برای متد

با سلام با ما همراه باشید با یکی دیگر از قسمت های آموزش زبان #C

انتخاب نام برای متد

در چارچوبNET. یک سری استاندارد برای نامگذاری توابع و متدها تعریف شده اند که بهتر است هنگام انتخاب نام برای متد آنها را رعایت کنید. این مورد باعث می شود برنامه نویسان راحت بتوانند کد های نوشته شده توسط خود را به زبان دیگری منتقل کنند . توصیه می کنیم که هنگام نام گذاری متدها از روش نامگذاری پاسکال استفاده کنید. یعنی فقط اولین حرف نام هر متد را بهصورت بزرگ بنویسید . البته این مورد فقط یک توصیه برای خوانا تر شدن کدها در ویژوال #C است وهیچ اجباری در آن نیست به مثال زیر توجه کنید :

-CalculateAreaFromRadius
-OpenXmlFile
-GetEnvironmentValue
توجه کنید که در مثال های بالا حتی در مواردی که که از حروف مخفف هم استفاده شده است، تمام حروف به جز حرف اول به صورت کوچک نوشته شده اند . رعایت این نکته به خصوص در زبان های مثل #C که به کوچکی و بزرگی حروف حساس هستند ، می توانید از گیج شدن برنامه نویس در برابر نام تابع جلوگیری کند.
قاعده دیگر در مورد نامگذاری پارامترها است. در نامگذاری پارامترها بهتر است همانند نامگذاری توابع ومتدها عمل کنید اما حروف اول هر پارامتر را کوچک قرار دهید . به مثال زیر توجه کنید:
– myAccount
-customerDetails
-updatedDnsRecord
در اینجا نیز ، همه چیز حتی کلمات اختصاری هم باید از قواعد نامگذاری پیروی کنند .
همانطور که می دانید در NET. کدها به زبان خاصی وابسته نیستند و کدهای موجود در یک زبان می توانند در زبان های دیگر مورد استفاده قرار بگیرند .بنابراین بهتر است از این قواعد پیروی کنید تا هم در زبانهایی که به نوع حروف حساس هستند وهم در زبانهایی که نسبت به این مورد حساس نیستند با مشکل مواجه نشوید.
زبانهایی مانند Visual Basic به بزرگی و کوچکی حروف حساس نیستند اما زبانهای #C# ،J و ++C حساس به حروف هستند برای مثال در این زبانها متغییر intNumber با متغییر INTNUMBER ویا intnumber متفاوت است.

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – نوع متغیر string (رشته)

یک رشته در واقع یک آرایه از کاراکتر ها است.
در c++ استاندارد برای ایجاد رشته به این صورت کد می نویسند:

برای استفاده از این نوع رشته ها باید به صورت حرفه ای با آنها کار کرده باشید و کار با آنها بسیار سخت است به همین خاطر بعضی از IDE های برنامه نویسی و کامپایلرشان مانند: visual studio یا کامپایلر لینوکس و یونیکس کارمان را راحت کردند ( در توربو قابل استفاده نیست ) و نوع متغیری بوجود آوردند به نام string که یک رشته را نگه داری می کند. مثال های ما در مورد متغیر string در کامپایلر و محیط visual studio است و در موقع مناسب کار با رشته به این صورت char ch[10] را آموزش می دهیم.
مثال: متغیر از نوع string تعریف کنید و مقداری به آن دهید سپس آنرا نمایش دهید.

توضیحات: ابتدا باید هدرفایل string را به برنامه اضافه کنید سپس یک متغیر تعریف کنید و مقداری به آن دهید و سپس با دستور cout آن را نمایش دهید.
نکته: می توانید از دستور cin برای گرفتن string استفاده کنید.

متد

متد (metod): در واقع یک نوع تابع است که وقتی متغیری تعریف می کنید می توانید از آن استفاده کنید. در کد متوجه می شوید.
متد size:

توضیحات: این متد تعداد کاراکتر های متغیر s را نشان می دهد.
ساختار کلی متد:

نام متد . نام متغیر();

متد در واقع عملیات خاصی را روی یک متغیر انجام می دهد. در پست های بعدی بیشتر با متد آشنا می شوید.

متد های string

متد empty: این متد متغیر را خالی از هر چیزی می کند.(NULL)
مثال:

append: این متد یک رشته را می گیرد و به انتهای رشته ای که ما می خواهیم اضافه می کند.
مثال:

توضیحات: متد رشته ی ali را به آخر رشته s که hello است اضافه می کند.
find: این متد یک رشته از ورودی می گیرد( ورودی: متغیر یا رشته ای که در داخل پرانتز های متد قرار می گیرند ) و درون رشته ی مورد نظرمان جست و جو می کند که نشان دهد چندمین اندیس رشته است.
مثال: می خواهیم ببینیم که رشته ی “ll” درون رشته ی hello چندمین اندیس است.

خروجی:
string1
توضیحات: اگر دقت کنید متوجه می شوید که رشته ی ll از اندیس دوم شروع می شود. ( اندیس اول صفر است )

C

آموزش برنامه نویسی #C – متدها قسمت دوم

متد هایی که تا کنون دیده اید:
بهتر است بدانید که تاکنون در برنامه هایی که در قسمت های قبل نوشته ایم، از متددهای زیادی استفاده کرده اید. به عنوان مثال کد زیر را که در ابتدای آموزش #C نوشته اید ملاحظه کنید:

این کد یک متد است زیرا همانطور که در تعریف متد گفتیم ،قطعه کدی مجزا است که کار خاصی را انجام می دهد . در اینجا این قطعه کد عدد یک را به متغییر intNumber اضافه می کند و نیجه را نمایش می دهد .
این متد هیچ مقداری را بر نمی گرداند بنابراین نوع مقدار بازگشتی void تعریف شده است. کلمه void به کامپایلر می گوید که این متد هیچ مقداری را برنمی گرداند. اگر متدی مقداری را برگرداند به جای استفاده از void باید نوع مقداری که برگشت داده می شود را بنویسید(برای مثال int یا double یا …) .هر دستوری که بین دو علامت آکولاد نوشته شود جزیی از بدنه ی متد محسوب می شود. یک متد به صورت زیر تعریف می شود:
آموزش برنامه نویسی C#
۱) قبل از هر چیز ، کلمه private را در تعریف تابع مشاهده می کنید .
۲)کلمه بعدی ،کلمه void است که همانطور که گفتیم به ویژوال #C می گوید این متد هیچ مقداری را برنمی گرداند .
۳)بعد از void با کلمه btnAdd_ Click روبرو می شوید. همانطور که ممکن است حدس زده باشید ، این کلمه نام متدی است که تعریف کرده ایم.
۴) چهارمین مورد در تعریف این تابع پارامترهایی است که به آن فرستاده می شود. همانطور که مشاهده می کنید این تابع دو پارامتر را دریافت می کند. پارامتر اولsender از نوع object است و پارامتر دوم e از نوع EventArgs است.
استفاده از متد ها
۱) یک پروژه #C در ویژوال ایجاد کنید و نام آن را برابر Three Buttons قرار دهید.
۲) با استفاده از جعبه ابزار سه دکمه فرمان بر روی فرم خود قرار دهید.
۳) روی دکمه فرمان اول دو بار کلیک کنید و سپس کد مشخص شده در زیر رابه آن اضافه کنید:

۴) برنامه را اجرا کنید . فرمی را با سه دکمه فرمان مشاهده خواهید می کنید کرد . بر روی با لاترین دکمه فرمان کلیک کنید . کادر پیغامی با عبارت !Hello ,Pangoan را خواهید دید.
دوستان گرامی امیدوارم از این قسمت به خوبی استفاده کرده باشید ، شما دوستان عزیز می توانید نظرتون رو از طریق بیان دیدگاه ها با من و دیگر همکارانم به اشتراک بگزارید، همچنین می توانید از طریق صفحه ی ما در اینستاگرام به همین نشانی ما رو دنبال کنید.

نویسنده: مسعود ثابتی

سی شارپ #C

آموزش برنامه نویسی #C – متدها

با سلام در این جلسه می خوام  شما رو با متدها آشنا کنم با ما همراه باشید

متدها:
یک متد، یک تکه کد است که وظیفه خاصی را انجام می دهد . متدها که پروسیجر هم نامیده می شوند به دو دلیل اهمیت زیادی دارند. دلیل اول این است که آنها برنامه را به قسمت کوچکتر تقسیم می کنند و موجب می شوند که برنامه بهتر درک شود. دوم اینکه آنها قابلیت استفاده مجدد از کدها را افزایش می دهند.استفاده مجدد ازکدها به اندازه ای مهم است که از این به بعد بیشتر وقت خود را صرف آن می کنید.
همانطور که میدانید، هنگامی که شروع به نوشتن یک برنامه می کنید ، ابتدا باید الگوریم کلی آن را تهیه کرده و سپس جزئیات هر قسمت از الگوریتم را به کد تبدیل کنید تا کل بخشهای الگوریتم را به صورت کد داشته باشید ، سپس با کنار هم قرار دادن این کدها به الگوریتم کلی می رسید.یک متد، یکی از خطهای این الگوریتم کلی را اجرا می کند، برای مثال “یک فایل را باز کن”،”یک متن را روی صفحه نمایش بده”،”یک صفحه را چاپ کن”ویا مواردی از این قبیل.
دانستن این که چگونه یک برنامه را به چند قسمت کوچکتر تقسیم کنید موردی است که به تجربه بستگی دارد. اهمیت تقسیم کردن یک برنامه به چند قسمت کوچک وتاثیر آن در سادگی برنامه را زمانی مشاهده خواهید کرد که برنامه بسیار پیچیده تری نسبت به آنهایی که تاکنون نوشته اید، بنویسید،در ادامه سعی می کنیم به شما بگوییم چرا و چگونه باید از متدها استفاده کنیم.

چرا از متدها استفاده می کنیم؟

در استفاده از متدها،شما باید اطلاعاتی که یک متد برای اجرا به آنها نیاز دارد را فراهم کنید تا نتیجه مطلوبی دریافت کنید. این اطلاعات ممکن است یک عدد صحیح،یک رشته متنی ویا ترکیبی از هردو باشد.
این اطلاعات به عنوان مقادیر ورودی خوانده می شوند.البته بعضی از متدها ورودی دریافت نمی کنند، بنابراین داشتن مقادیر ورودی یرای یک متد لازم نیست. یک متد با استفاده از این اطلاعات ورودی ونیز یک سری اطلاعات درونی سعی میکند تا وظیفه خود را انجام دهد.
هنگامی که این اطلاعات را به برنامه می فرستید، در اصطلاع داده به تابع فرستاده اید. به این داده ها پارامتر نیز گفته می شود.در نهایت برای استفاده از یک تابع شما باید آن را فراخوانی کنید. خلاصه ، شما یک متد را فراخوانی می کنید و داده های مورد نیاز آن را به وسیله پارامترها به آن می فرستید.
همانطور که قبلا گفتیم، دلیل استفاده از یک تابع این است که از یک قطعه کد چندین مرتبه استفاده کنیم. برای این کار ابتدا باید بتوانیم الگوریتم برنامه را در حالت کلی بررسی کنیم سپس قسمت هایی که ممکن است چند بار به آنها نیاز پیدا کنیم را مشخص کنیم. بعد از مشخص کردن این قسمتها، می توانیم آنها را با استفاده از متدها بنویسیم وسپس متدها را چندین مرتبه در برنامه استفاده کنیم.
برای مثال تصور کنید که برنامه شما از الگوریتم های زیادی تشکیل شده است . بعضی از این الگوریتم ها برای محاسبات خود نیاز دارند که بتوانند محیط دایره را محاسبه کنند. چون بعضی از قسمت های الگوریتم ما نیاز دارند که نحوه محاسبه محیط دایره را بدانند،استفاده از یک متد در این مورد می تواند مناسب باشد. شما می توانید متدی بنویسید که بتواند محیط یک دایره را با دانستن شعاع آن محاسبه کند، سپس در هر قسمت از الگوریتم که به محاسبه محیط نیاز بود می توانید این متد را فراخوانی کنید. به این ترتیب نیازی نیست کدی که یک کار مشخص انجام میدهد چند بار نوشنه شود. شما فقط یک بار کد را می نویسید و چند بار از ان استفاده می کنید.
همچنین ممکن است یک قسمت از الگوریتم بخواهد محیط یک دایره به شعاع ۱۰۰ را بداند و قسمتی دیگر محیط یک دایره به شعاع ۲۰۰، بنابراین متد شما می توانید شعاع دایره را به عنوان پارامتر از ورودی بگیرد و سپس محیط را محاسبه کند. به این ترتیب این متد در هر شرایطی می تواند مورد استفاده قرار بگیرد