WEBVTT

00:00.110 --> 00:00.950
خوش آمدید.

00:00.950 --> 00:04.850
(scope) در این ویدئو می‌خواهم کمی بیشتر درباره محدوده دسترسی 
 صحبت کنم، چون قبلاً با آن آشنا شدیم.

00:04.850 --> 00:10.520
فکر می‌کنم این در یک if statement بود که یک متغیر داخل آن تعریف کردیم و خارج از آن if نمی‌توانستیم به آن دسترسی داشته باشیم.

00:10.520 --> 00:12.830
ر add two values حالا همین موضوع برای متد
 هم صدق می‌کند.

00:12.830 --> 00:17.480
پس کمی آن را دیدیم.

00:17.480 --> 00:19.640
result فرض کنید می‌خواستم از 
 استفاده کنم.

00:19.640 --> 00:28.520
 my result می‌بینید که این متغیر
 که تعریف کرده‌ام، به طور خودکار استفاده می‌شود، همان که در پایین تعریف کرده‌ام.

00:28.520 --> 00:28.970
اما

00:28.970 --> 00:34.970
result من نمی‌توانم از 
 که داخل این متد ساخته شده استفاده کنم.

00:34.970 --> 00:40.400
result پس نمی‌توانم بگویم 
 برابر صفر یا هر مقدار دیگری است.

00:40.400 --> 00:40.820
باشه.

00:40.820 --> 00:48.620
این کار نمی‌کند چون متغیر result تنها داخل متد add two values قابل مشاهده است.

00:48.620 --> 00:55.670
می‌توانم یک متد دیگر بسازم، مثلاً int و نام آن subtract two values باشد.

00:55.670 --> 00:58.700
و حالا می‌توانم همان طراحی را داشته باشم.

00:58.700 --> 01:05.270
می‌توانم بگویم int result برابر value one منهای value two خواهد بود.

01:05.270 --> 01:07.670
و سپس می‌توانم result را بازگردانم.

01:07.670 --> 01:12.050
حالا این result اینجا با result قبلی خیلی متفاوت است.

01:12.050 --> 01:15.260
پس این یک result جداگانه است.

01:15.260 --> 01:18.350
int result به همین دلیل نمی‌توانم فقط از 
 استفاده کنم.

01:18.350 --> 01:24.740
int my result چون معمولاً اگر یک متغیر در بالای فایل تعریف کرده باشید، مثلا 
، می‌توانید از

01:24.740 --> 01:30.230
my result این متغیر 
 در کل فایل استفاده کنید.

01:30.230 --> 01:34.040
int result می‌توانم آن را پایین‌تر هم استفاده کنم و فقط 
 را به کار ببرم.

01:34.040 --> 01:37.100
result اما می‌توانم 
 را اینجا ذخیره کنم، به این صورت.

01:37.100 --> 01:44.480
می‌توانم آن result را گرفته و داخل یک متغیر integer سطح program.cs ذخیره کنم، چون ما داخل فایل program.cs هستیم، درست است؟

01:44.480 --> 01:47.060
اما می‌توانم از آن در اینجا هم استفاده کنم، می‌توانم بگویم my result برابر result، و سپس

01:47.060 --> 02:01.160
می‌توانم از my result پایین‌تر استفاده کنم تا آن را با هر مقداری که result خواهد داشت بازنویسی کنم.

02:01.160 --> 02:01.820
باشه.

02:01.820 --> 02:09.410
ایده اصلی این است که می‌توانید یک متغیر ایجاد کنید که در کل فایل قابل دسترسی باشد،

02:09.410 --> 02:17.030
اما نباید فراموش کنید که متغیرهایی هم وجود دارند که همان محدوده دسترسی را ندارند.

02:17.030 --> 02:24.680
برای مثال، هر متغیری که داخل یک متد ایجاد کنیم فقط در همان متد قابل دسترسی است، همان‌طور

02:24.680 --> 02:25.220
 که دیدیم

02:25.220 --> 02:32.240
سپس این متغیر پارامتر نیز فقط داخل خود متد قابل دسترسی است.

02:32.240 --> 02:37.580
پس تنها در همینجا می‌توانم از value one استفاده کنم و بیرون نمی‌توانم از value one استفاده کنم.

02:37.580 --> 02:40.190
نمی‌توانم فقط آن را به پنج یا چیز دیگری تنظیم کنم.

02:40.190 --> 02:44.360
فقط می‌توانم از value one داخل همان متدی که آن را تعریف کردم استفاده کنم.

02:44.360 --> 02:44.870
خُب.

02:44.870 --> 02:47.030
پس می‌گویم فعلاً همین کافی است.

02:47.030 --> 02:50.990
(scope) ما دوباره مبحث دامنه 
 را زمانی که نیاز داشته باشیم مرور خواهیم کرد.

02:50.990 --> 02:57.410
وقتی که به طور کلی دامنه بزرگ‌تری در برنامه‌مان داشته باشیم، زیرا در حال حاضر، از نظر فنی،

02:57.410 --> 03:02.600
تمام کاری که انجام می‌دهیم داخل متد main است و حتی متوجه نشده‌ایم که متد main چیست،

03:02.600 --> 03:05.960
و این چیزی است که به زودی پوشش خواهیم داد.

03:05.960 --> 03:07.910
پس در ویدیوی بعدی می‌بینمتان.

