Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Локальні та Глобальні Області Видимості | Методи
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Основи C#

bookЛокальні та Глобальні Області Видимості

Область видимості змінної — це частина коду, в якій ми можемо отримати доступ до цієї змінної. У C# існує глобальна область видимості та багато можливих локальних областей.

Коли ми створюємо змінну поза будь-яким методом, до неї можна звертатися майже з будь-якої частини програми, тому кажуть, що вона має глобальну область видимості:

main.cs

main.cs

copy
1234567891011121314151617181920
using System; namespace ConsoleApp { internal class Program { static int myVariable = 10; // Variable with a Global Scope static void testMethod() { // Accessing `myVariable` inside `testMethod` Console.WriteLine($"testMethod: {myVariable}"); } static void Main(string[] args) { // Accessing `myVariable` inside `Main` method Console.WriteLine($"Main Function: {myVariable}"); testMethod(); } } }

Примітка

Коли ви оголошуєте змінну поза будь-яким методом, важливо додати ключове слово static перед її оголошенням.

У наведеному вище прикладі ми зверталися до змінної myVariable як у методі Main, так і в testMethod. Однак це можливо не завжди.

Змінна, оголошена всередині блоку коду, доступна лише в цьому блоці та будь-яких вкладених блоках коду. Наприклад, змінна, оголошена всередині методу, безпосередньо доступна лише в цьому методі. Аналогічно, змінна, оголошена в блоці if, else if або else, доступна лише в межах цього блоку. Така змінна має локальну область видимості.

Зверніть увагу на наступний код і спробуйте зрозуміти, як він працює:

main.cs

main.cs

copy
123456789101112131415161718192021222324252627282930313233
using System; namespace ConsoleApp { class Program { static int variable_1 = 1; static void Main(string[] args) { int variable_2 = 2; if (true) { int variable_3 = 3; Console.WriteLine(variable_1); Console.WriteLine(variable_2); Console.WriteLine(variable_3); } Console.WriteLine(variable_1); Console.WriteLine(variable_2); Console.WriteLine(variable_3); // ERROR HERE Console.WriteLine(variable_4); // ERROR HERE // Note: A variable cannot be used before it's defined in the code } static void myMethod() { int variable_4 = 4; Console.WriteLine(variable_1); Console.WriteLine(variable_2); // ERROR HERE Console.WriteLine(variable_3); // ERROR HERE Console.WriteLine(variable_4); } } }

У наведеному вище коді є чотири змінні:

  • variable_1 — глобальна область видимості;
  • variable_2 — локальна область видимості, визначена в методі Main;
  • variable_3 — локальна область видимості, визначена в блоці if;
  • variable_4 — локальна область видимості, визначена в методі myMethod.

Наведена програма може взагалі не скомпілюватися, але демонструє, де певні змінні можуть бути доступні, а де — ні. Область коду, де змінна може бути доступною, називається областю видимості цієї змінної.

  • variable_1 є глобальною змінною, тому вона доступна майже всюди;
  • variable_2 доступна у всьому методі Main, включаючи підблоки, такі як умова if;
  • variable_3 доступна лише всередині блоку if;
  • variable_4 доступна лише всередині блоку myMethod.
question mark

Яке ключове слово потрібно використовувати для глобальних змінних (змінних, оголошених поза будь-яким методом)?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 6. Розділ 8

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookЛокальні та Глобальні Області Видимості

Свайпніть щоб показати меню

Область видимості змінної — це частина коду, в якій ми можемо отримати доступ до цієї змінної. У C# існує глобальна область видимості та багато можливих локальних областей.

Коли ми створюємо змінну поза будь-яким методом, до неї можна звертатися майже з будь-якої частини програми, тому кажуть, що вона має глобальну область видимості:

main.cs

main.cs

copy
1234567891011121314151617181920
using System; namespace ConsoleApp { internal class Program { static int myVariable = 10; // Variable with a Global Scope static void testMethod() { // Accessing `myVariable` inside `testMethod` Console.WriteLine($"testMethod: {myVariable}"); } static void Main(string[] args) { // Accessing `myVariable` inside `Main` method Console.WriteLine($"Main Function: {myVariable}"); testMethod(); } } }

Примітка

Коли ви оголошуєте змінну поза будь-яким методом, важливо додати ключове слово static перед її оголошенням.

У наведеному вище прикладі ми зверталися до змінної myVariable як у методі Main, так і в testMethod. Однак це можливо не завжди.

Змінна, оголошена всередині блоку коду, доступна лише в цьому блоці та будь-яких вкладених блоках коду. Наприклад, змінна, оголошена всередині методу, безпосередньо доступна лише в цьому методі. Аналогічно, змінна, оголошена в блоці if, else if або else, доступна лише в межах цього блоку. Така змінна має локальну область видимості.

Зверніть увагу на наступний код і спробуйте зрозуміти, як він працює:

main.cs

main.cs

copy
123456789101112131415161718192021222324252627282930313233
using System; namespace ConsoleApp { class Program { static int variable_1 = 1; static void Main(string[] args) { int variable_2 = 2; if (true) { int variable_3 = 3; Console.WriteLine(variable_1); Console.WriteLine(variable_2); Console.WriteLine(variable_3); } Console.WriteLine(variable_1); Console.WriteLine(variable_2); Console.WriteLine(variable_3); // ERROR HERE Console.WriteLine(variable_4); // ERROR HERE // Note: A variable cannot be used before it's defined in the code } static void myMethod() { int variable_4 = 4; Console.WriteLine(variable_1); Console.WriteLine(variable_2); // ERROR HERE Console.WriteLine(variable_3); // ERROR HERE Console.WriteLine(variable_4); } } }

У наведеному вище коді є чотири змінні:

  • variable_1 — глобальна область видимості;
  • variable_2 — локальна область видимості, визначена в методі Main;
  • variable_3 — локальна область видимості, визначена в блоці if;
  • variable_4 — локальна область видимості, визначена в методі myMethod.

Наведена програма може взагалі не скомпілюватися, але демонструє, де певні змінні можуть бути доступні, а де — ні. Область коду, де змінна може бути доступною, називається областю видимості цієї змінної.

  • variable_1 є глобальною змінною, тому вона доступна майже всюди;
  • variable_2 доступна у всьому методі Main, включаючи підблоки, такі як умова if;
  • variable_3 доступна лише всередині блоку if;
  • variable_4 доступна лише всередині блоку myMethod.
question mark

Яке ключове слово потрібно використовувати для глобальних змінних (змінних, оголошених поза будь-яким методом)?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 6. Розділ 8
some-alt