WEBVTT

00:00.140 --> 00:01.040
خوش آمدید دوباره.

00:01.040 --> 00:08.900
قبل از ادامه با آرایه‌ها، می‌خواهم چیزی واقعاً مهم در برنامه‌نویسی را به شما نشان دهم.

00:08.900 --> 00:11.150
و آن متدها هستند.

00:11.150 --> 00:15.020
پس بیایید یک برنامه کنسول جدید ایجاد کنیم.

00:15.020 --> 00:18.140
methods app و من این یکی را 
 نام‌گذاری می‌کنم.

00:18.140 --> 00:23.660
Next سپس ادامه می‌دهیم و روی 
 کلیک می‌کنیم و همه چیز را به صورت پیش‌فرض نگه می‌دارم.

00:23.660 --> 00:29.900
با این حال، به زودی آن را تغییر خواهیم داد زیرا این چک‌باکس دلیل اهمیت نگاه کردن به متدها .

00:29.900 --> 00:30.650
در این مرحله است

00:30.650 --> 00:36.980
پس ابتدا پروژه جدید را ایجاد می‌کنیم و بعداً هم از آن استفاده خواهیم کرد

00:36.980 --> 00:38.180
خب اینجا هستیم.

00:38.180 --> 00:41.360
تا این مرحله چیز جدیدی نیست

00:41.360 --> 00:44.180
با این حال، می‌خواهم به شما نشان دهم متدها چگونه کار می‌کنند.

00:44.180 --> 00:51.380
به طور کلی، وقتی از متدها استفاده می‌کنید، همیشه فرمت یکسانی دارند.

00:51.380 --> 00:52.520
خب اینجا هستیم.

00:52.520 --> 00:54.890
متدها به این شکل ساختاربندی می‌شوند.

00:54.890 --> 00:56.750
ابتدا یک Modifier دارید.

00:56.750 --> 00:58.940
سپس نوع بازگشتی.

00:58.940 --> 01:01.220
نام متد و پرانتزهای گرد.

01:01.220 --> 01:02.630
پارامترها را دارید.

01:02.630 --> 01:07.100
و سپس بلوک کد داخل آکولادها قرار دارد.

01:07.100 --> 01:09.110
خب، این کمی پیچیده به نظر می‌رسد.

01:09.110 --> 01:13.220
ما آن را مرحله به مرحله می‌سازیم زیرا یکباره خیلی دشوار است.

01:13.220 --> 01:16.130
پس با یک متد بسیار ساده شروع می‌کنیم.

01:16.130 --> 01:20.780
void myFirstMethod و من این یکی را 
 نام‌گذاری می‌کنم.

01:20.780 --> 01:25.760
سپس هیچ پارامتری در اینجا وارد نمی‌کنم.

01:25.760 --> 01:32.390
و سپس کدی در اینجا قرار می‌دهم که می‌خواهم هر زمان این متد فراخوانی.

01:32.390 --> 01:33.260
 شد اجرا شود

01:33.260 --> 01:33.800
خب.

01:33.800 --> 01:37.640
پس بیایید کمی کد اضافه کنیم Console.WriteLine.

01:37.760 --> 01:43.340
و MyFirstMethod was called اجرا خواهد شد.

01:43.340 --> 01:50.000
Console.WriteLine حالا بیایید یک 
 دیگر هم اضافه کنیم.

01:50.000 --> 01:52.760
این خارج از متد است.

01:52.760 --> 02:01.580
Console.ReadKey سپس یک 
 اضافه می‌کنیم تا برنامه ما باز بماند.

02:01.580 --> 02:04.040
حالا برنامه را اجرا می‌کنیم و می‌بینیم.

02:04.040 --> 02:06.140
این خارج از متد است.

02:06.140 --> 02:10.640
Console.WriteLine اما این خط که می‌گوید 
 کجاست؟

02:10.640 --> 02:12.230
MyFirstMethod was called.

02:12.230 --> 02:14.750
خب، چون MyFirstMethod هرگز فراخوانی نشده است.

02:14.750 --> 02:16.610
و حتی به void هم نگاه نکردیم.

02:16.610 --> 02:18.230
بعداً به آن نگاه خواهیم کرد.

02:18.230 --> 02:25.700
پس این کد فقط زمانی اجرا می‌شود که این متد فراخوانی شود.

02:25.700 --> 02:28.700
یعنی فقط اگر ما متد را فراخوانی کنیم.

02:28.700 --> 02:31.880
و برای فراخوانی متد، باید نام متد را وارد کنیم.

02:31.880 --> 02:34.520
سپس پارامترها را ارسال می‌کنیم.

02:34.520 --> 02:36.590
در این مورد هیچ پارامتری وجود ندارد.

02:36.590 --> 02:39.080
سپس از سمی‌کالن استفاده می‌کنیم.

02:39.080 --> 02:42.140
پس این روش فراخوانی یک متد است.

02:42.140 --> 02:44.750
فراخوانی یک متد،

02:44.750 --> 02:50.030
معادل اجرای همه چیز داخل آن متد است.

02:50.030 --> 02:56.810
حالا فرض کنید چیزی پیچیده‌تر در اینجا داشته باشیم و نه فقط یک دستور Console.WriteLine.

02:56.810 --> 03:03.470
پس فرض کنید یک کد خیلی پیچیده باشد.

03:03.470 --> 03:11.450
حالا اگر این متد را فراخوانی کنیم، همه چیز داخل تعریف متد و آکولادهای آن.

03:11.450 --> 03:12.950
 اجرا خواهد شد

03:12.950 --> 03:13.370
خب.

03:13.370 --> 03:21.650
void پس این تعریف یک متد 
 است که هیچ چیزی باز نمی‌گرداند.

03:21.650 --> 03:24.320
بعداً خواهیم دید که بازگرداندن هیچ چیز دقیقاً به چه معناست.

03:24.320 --> 03:27.710
پس این روش فراخوانی یک متد است.

03:27.710 --> 03:29.630
و این روش تعریف یک متد است.

03:29.630 --> 03:32.030
حالا کد را دوباره اجرا می‌کنیم و خواهیم دید.

03:32.030 --> 03:35.840
MyFirstMethod
 به عنوان یک کد فوق العاده پیچیده نامیده شد

03:35.840 --> 03:38.810
و سپس می‌گوید این خارج از متد است.

03:38.810 --> 03:40.340
خب، چه اتفاقی افتاده است؟

03:40.340 --> 03:45.020
موضوع این است که ما چیزی ایجاد کرده‌ایم که می‌توانیم دوباره استفاده کنیم.

03:45.020 --> 03:47.090
پس ما یک کد قابل استفاده مجدد ایجاد کرده‌ایم.

03:47.090 --> 03:49.640
این متد به راحتی قابل استفاده مجدد است.

03:49.640 --> 03:52.130
می‌توانیم هر زمان که بخواهیم آن را فراخوانی کنیم.

03:52.130 --> 03:56.120
برای نشان دادن این موضوع، می‌توانم دوباره این متد را فراخوانی کنم.

03:56.120 --> 04:01.490
و من آن را چهار بار فراخوانی می‌کنم، زیرا هر بار که فراخوانی می‌کنم، کد 

04:01.490 --> 04:02.060
جالبی اجرا خواهد شد.

04:02.060 --> 04:05.000
و این دقیقاً همان کدی است که داخل آکولادها قرار دارد.

04:05.000 --> 04:10.970
پس حالا کاری که انجام می‌دهد این است که می‌گوید MyFirstMethod was called some super complicated code، MyFirst

04:10.970 --> 04:12.470
متد فراخوانی شد، و به همین ترتیب ادامه دارد.

04:12.470 --> 04:17.810
پس کد چهار بار اجرا می‌شود چون من متد را چهار بار فراخوانی کردم و سپس می‌گوید این خارج از متد است.

04:17.810 --> 04:19.190
پس عملاً وقتی همه این کد اجرا شد، که هر بار این کد را اجرا می‌کند، این کد پایین هم اجرا شد.

04:19.190 --> 04:26.870
می‌توانستم این کار را با یک حلقه انجام دهم، اما واقعاً هدف این نیست.

04:26.870 --> 04:30.830
موضوع اصلی این است که می‌توان یک متد را دوباره استفاده کرد.

04:30.830 --> 04:34.700
پس این void، همان‌طور که گفتم، بعداً توضیح داده خواهد شد.

04:39.080 --> 04:41.900
این void فقط به معنای هیچ چیز است.

04:41.900 --> 04:45.320
بنابراین void همان هیچ بودن است، به نوعی.

04:45.320 --> 04:49.430
کاری که انجام می‌دهد این است که هیچ چیزی باز نمی‌گرداند.

04:49.430 --> 04:51.650
پس این نوع بازگشت است.

04:51.650 --> 04:55.880
برای درک void باید نوع بازگشت را بفهمیم.

04:55.880 --> 04:58.910
و این کاری است که در ویدیوی بعدی انجام خواهیم داد.

04:58.910 --> 04:59.450
خب.

04:59.620 --> 05:00.310
می‌بینمتان آنجا.

