Giới thiệu
Trong bài viết này, chúng ta sẽ tìm hiểu về biến toàn cục và biến cục bộ trong ngôn ngữ lập trình C#. Cùng khám phá vấn đề này nhé!
Nội dung
Để hiểu rõ bài viết này, hãy trước tiên có kiến thức về các phần sau đây:
- BIẾN và KIỂU DỮ LIỆU trong C#
- TOÁN TỬ trong C#
- CẤU TRÚC CƠ BẢN VÒNG LẶP
- CẤU TRÚC CƠ BẢN CỦA HÀM
Trong bài viết này, chúng ta sẽ tìm hiểu về:
- Biến toàn cục và biến cục bộ trong C#
Biến toàn cục và biến cục bộ trong C
Biến toàn cục là biến được khai báo ở phạm vi cao hơn vị trí hiện tại. Trong khi đó, biến cục bộ là biến được khai báo ở cùng phạm vi tại vị trí hiện tại.
Vòng đời của biến toàn cục và biến cục bộ bắt đầu khi khối lệnh chứa nó bắt đầu (khối lệnh bắt đầu bằng dấu "{") và kết thúc khi khối lệnh chứa nó kết thúc (khối lệnh kết thúc bằng dấu "}").
Trong trường hợp hai biến cùng tên, biến cục bộ được ưu tiên sử dụng hơn biến toàn cục.
Ví dụ:
// Ví dụ về biến toàn cục
class Program {
// Biến toàn cục của các hàm nằm trong class Program
// Biến cục bộ của class Program
static int value = 5;
static void Main(string[] args) {
// In ra màn hình biến toàn cục
Console.WriteLine(value);
PrintSomeThing();
Console.ReadKey();
}
static void PrintSomeThing() {
// In ra màn hình biến toàn cục
Console.WriteLine(value);
}
}
Kết quả khi chạy chương trình trên:
Hãy thử thay đổi giá trị của biến value
ngay trước khi gọi hàm PrintSomeThing
.
class Program {
// Biến toàn cục của các hàm nằm trong class Program
// Biến cục bộ của class Program
static int value = 5;
static void Main(string[] args) {
// In ra màn hình biến toàn cục
Console.WriteLine(value);
// Thay đổi giá trị của value
value = 10;
// Kết quả gọi hàm này sẽ in ra màn hình giá trị là 10
PrintSomeThing();
Console.ReadKey();
}
static void PrintSomeThing() {
// In ra màn hình biến toàn cục
Console.WriteLine(value);
}
}
Kết quả là màn hình in ra giá trị 5 và 10. Do giá trị của biến value
đã bị thay đổi trước khi gọi hàm PrintSomeThing
.
Và giờ chúng ta hãy tạo một biến cục bộ ngay bên trong hàm PrintSomeThing
.
class Program {
// Biến toàn cục của các hàm nằm trong class Program
// Biến cục bộ của class Program
static int value = 5;
static void Main(string[] args) {
// In ra màn hình biến toàn cục
Console.WriteLine(value);
// Thay đổi giá trị của value
value = 10;
// Kết quả gọi hàm này sẽ không thay đổi vì ưu tiên biến cục bộ hơn
PrintSomeThing();
Console.ReadKey();
}
static void PrintSomeThing() {
int value = 9;
// In ra màn hình biến toàn cục
Console.WriteLine(value);
}
}
Kết quả màn hình in ra giá trị 5 và 9. Không in ra giá trị 10 vì biến cục bộ được ưu tiên sử dụng hơn. Ở hàm Main, thay đổi giá trị của biến value
thì biến value
này đang là biến toàn cục. Không làm thay đổi giá trị của biến cục bộ bên trong hàm PrintSomeThing
.
Lưu ý:
- Parameter chính là một biến cục bộ.
- Biến cục bộ có phạm vi sử dụng bên trong cặp dấu ngoặc nhọn {}.
static void Main(string[] args) {
bool isTrue = true;
if (isTrue) {
int value = 5;
Console.WriteLine(value);
} else {
// Không thể sử dụng biến value vì hiện thời biến value là biến cục bộ của câu if true
// Vòng đời của biến cục bộ value chỉ nằm bên trong cặp dấu ngoặc nhọn {}
Console.WriteLine(value);
}
Console.ReadKey();
}
Kết luận
Qua bài viết này, chúng ta đã hiểu về biến toàn cục và biến cục bộ trong ngôn ngữ lập trình C#. Bài tiếp theo, chúng ta sẽ tìm hiểu về từ khoá REF và OUT trong C#.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để cùng nhau phát triển bài viết tốt hơn. Đừng quên "Luyện tập - Thử thách - Không ngại khó".
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.