خوش برگشتید.
در این ویدیو می‌خواهیم دو کار انجام دهیم.
اول، از دو پارامتر به جای یکی استفاده می‌کنیم.
دوم، یک نوع بازگشتی خواهیم داشت.
پس به جای داشتن مثال‌های ساده‌ای که فقط چیزی می‌نویسیم یا چیز مشخصی می‌نویسیم،
بیایید یک کاربرد واقعی داشته باشیم.
این کاربرد واقعی یک جمع‌کننده خواهد بود.
یا یک تفریق‌کننده.
پس می‌توانیم یک متد ایجاد کنیم.
بیایید با روش پیش‌فرضی که قبلاً داشتیم شروع کنیم.
دو مقدار را جمع کنیم.
و من فقط پارامترها را در اینجا تعریف می‌کنم.
پارامتر اول یک عدد صحیح خواهد بود.
و من این را مقدار یک می‌نامم.
و سپس پارامتر دوم یک عدد صحیح خواهد بود که آن را مقدار دو می‌نامم.
پس می‌بینید اگر بخواهید چندین پارامتر استفاده کنید، آن‌ها را با کاما جدا می‌کنید.
پس می‌گویید، خوب، مقدار اول خواهد بود و سپس مقدار دوم خواهد بود.
و نوع این دو مقدار چه خواهد بود؟
خواهند بود.int آن‌ها از نوع
آن‌ها باید از نوع int باشند.
چون کاری که می‌خواهم بعد انجام دهم این است که می‌خواهم آن‌ها را با هم جمع کنم.
پس می‌گویم int نتیجه برابر است با مقدار یک به اضافه مقدار دو.
حالا چطور این نتیجه را از متدم دریافت کنم؟
متد جمع دو مقدار.
Console.WriteLine حالا واضح است که می‌توانم فقط از استفاده کنم و بگویم نتیجه برابر است با
و سپس می‌توانم نتیجه را چاپ کنم.
این خوب است و کار خواهد کرد.
اگر الان بروم و متد جمع دو مقدار را اینجا استفاده کنم
و بخواهم این متد را فراخوانی کنم،
واضح است که باید دو مقدار پاس کنم.
فرض کنیم بخواهم ۵ و ۱۰ را پاس کنم.
و سپس این متد را فراخوانی می‌کنم.
و بیایید این را اجرا کنیم تا ببینیم.
پس می‌گوید نتیجه برابر است با ۱۵.
خیلی ساده است، درست است؟
پس فقط دو مقدار را با هم جمع می‌کند، سپس نتیجه را می‌گیرد و آن را روی کنسول چاپ می‌کند.
اما اگر این متد جمع دو مقدار واقعاً فقط باید آن‌ها را با هم جمع کند و نتیجه را برگرداند،
اما هرگز آن را ننویسد، چون نوشتن را خارج از آن انجام می‌دهیم.
پس این متد واقعاً یک مسئولیت دارد و فقط یک مسئولیت، و آن هم جمع کردن دو مقدار است.
پس مسئول نوشتن آن روی صفحه یا هر چیز دیگر نیست.
باشه.
پس برای نوشتن چیزی روی صفحه می‌توانیم از یک متد دیگر استفاده کنیم.
Console.WriteLine یا می‌توانیم فقط از متد استفاده کنیم.
حالا چطور این نتیجه را از اینجا بیرون بیاورم؟
return خب می‌توانم از کلمه کلیدی استفاده کنم.
می‌توانم نتیجه را بازگردانم.
با این حال، فقط می‌توانم نتیجه را از یک متد بازگردانم اگر متد مشخص کند که نوع خاصی را بازمی‌گرداند.
پس به جای void،
int حالا باید بگویم که یک int بازمی‌گردانم چون نتیجه از نوع است.
پس ساختار کلی این است که نوع داده را درست قبل از نام متد تعریف می‌کنید.
سپس داخل پرانتزها مشخص می‌کنید چه پارامترهایی داشته باشید.
و سپس هر کاری که می‌خواهید داخل آکولادها انجام دهید.
و بعد از آن می‌توانید آن را بازگردانید.
یا باید آن را بازگردانید.
چون اگر چیزی بازنگردانید، اگر این خط وجود نداشته باشد، متد ما خراب خواهد شد.
در واقع این خطا می‌دهد که همه مسیرهای کد یک مقدار باز نمی‌گردانند.
return این فقط یعنی ما باید از کلیدواژه استفاده کنیم و همان نوع داده‌ای که اینجا تعریف شده را بازگردانیم.
پس این یک int است و result هم باید یک int باشد.
فقط برای نشان دادن اینکه اگر این را به عنوان مثال double تعریف کنم، اینجا باعث خطا خواهد شد، زیرا ناگهان
result یک double است.
اما من قول داده‌ام که یک int بازگردانم.
پس باید مطمئن شوم هر چیزی که بازمی‌گردانم همان نوع داده‌ای است که اینجا تعریف کرده‌ام.
حالا اینجا در واقع همان پنج به اضافه ده خواهد بود.
پس این ۱۵ را بازمی‌گرداند.
و می‌توانیم آن را در یک متغیر ذخیره کنیم.
myResult پس می‌توانیم یک متغیر دیگر داشته باشیم که به عنوان مثال نامیده شود.
و اکنون هر چیزی که نتیجه این محاسبه باشد را ذخیره می‌کند.
و حالا می‌توانم نتیجه را روی صفحه چاپ کنم.
پس نتیجه برابر است با myResult.
ر و اینجا به علاوه ، باشه.
پس این واضح است که حالا خیلی پیچیده‌تر از زمانی است که می‌خواستیم دو مقدار را .
با هم جمع کنیم
اما این فقط ساده‌ترین راه برای توضیح این مفاهیم است.
این مفاهیم به شکل‌های بسیار پیچیده‌تری استفاده می‌شوند.
اما شما باید این را بفهمید قبل از اینکه بتوانید بخش‌های پیچیده‌تر را درک کنید.
و ما همه آن را گام به گام بررسی خواهیم کرد.
addTwoValues حالا، همانطور که می‌بینیم، متدی داریم که خودمان ایجاد کرده‌ایم، ، که دو مقدار را جمع می‌کند
که ما این مقادیر را اینجا به عنوان پارامتر تعریف کرده‌ایم.
حالا ما آن‌ها را اینجا به عنوان آرگومان می‌دهیم.
و ما یک مقدار از نوع int دریافت می‌کنیم یا باز می‌گردانیم.
پس اگر موس خود را روی متدی که همین الان ایجاد کرده‌ایم ببرید، می‌بینید که addTwoValues یک int و یک int دیگر می‌گیرد
و آن را باز می‌گرداند.
به عنوان یک int.
پس حالا هر چیزی که بازگردانده شود، درون این متغیر ذخیره می‌شود.
و اکنون از این متغیر برای نوشتن خروجی استفاده می‌کنیم.
WriteLine حالا نکته جالب این است که اگر موس خود را روی متد ببرید، می‌بینید که این متد
هیچ مقداری باز نمی‌گرداند.
این متد void بازمی‌گرداند.
حالا فرض کنید مقادیری را از کاربر دریافت کنیم.
پس بیایید مقداری از کاربر بگیریم.
دو متغیر جدید ایجاد می‌کنیم.
numOne قرار است برابر با Console.ReadLine باشد.
پس هر چیزی که کاربر وارد کرد را می‌گیریم.
و باید آن را تجزیه کنیم.
پس هر چیزی که کاربر وارد کرد را به int تبدیل می‌کنیم.
قبلاً چندین بار این کار را دیده‌ایم.
ذخیره می‌کنیم.numOne حالا ورودی کاربر را در
را به عنوان متغیر ارسال کنیم numOne و می‌توانیم اکنون
حالا متد ما کاری که انجام می‌دهد این است که همیشه ده را به مقداری که وارد کرده‌ایم اضافه می‌کند.
پس بیایید این برنامه را اجرا کنیم.
و هیچ چیزی نمایش داده نمی‌شود چون ما چیزی برای نمایش نگفته‌ایم.
ما هیچ نشانه‌ای نداشتیم که باید چه چیزی نمایش داده شود.
و می‌بینید که می‌گوید نتیجه 15 است.
حالا بیایید دوباره اجرا کنیم، شاید با یک عدد متفاوت.
پس من عدد 25 را وارد می‌کنم و می‌گوید نتیجه 35 است.
پس می‌توانیم چیزی بگوییم مانند "یک عدد وارد کنید، من ده به آن اضافه می‌کنم."
و سپس عدد را وارد می‌کنیم.
تبدیل می‌شود.int و آن عدد به
این مقدار داخل این متغیر int به نام num one ذخیره می‌شود.
ما آن متغیر int یعنی num one را به متد add two values می‌دهیم.
حالا واضح است که می‌توانیم مقدار دوم را هم بپرسیم.
و سپس می‌توانیم آن مقدار دوم را نیز اینجا پاس کنیم.
value حالا می‌بینید که من اینجا آن را نامیده‌ام.
num one و اینجا نام را پاس می‌کنم.
این نام‌ها می‌توانند هر چیزی باشند.
پس این نام می‌تواند یک نام کاملاً متفاوت باشد.
واضح است که خوب است اگر نام‌های متغیر توصیفی داشته باشید.
اما این متغیر پارامتر تنها داخل همین بلوک موجود است.
value one پس نمی‌توانم اینجا از استفاده کنم.
value one نمی‌توانم بگویم برابر پنج است مثلاً.
value one و value two این کار نمی‌کند چون این تنها در محدوده بلوک‌های آکولاد در دسترس هستند.
اما بیایید در ویدئوی بعدی کمی بیشتر به این موضوع بپردازیم.
پس آنجا می‌بینمتان.