GT C Sharp cơ bản – Bài 14 : Chương 13: Phạm vi biến cục bộ

0
(0)

Chương 13: Phạm vi biến cục bộ

 

Tác giả: Sưu tầm

 

Khái quát

Trong C#, các biến cục bộ chỉ có thể được đặt tên mà nó cho phép chúng được xác định duy nhất trong một phạm vi nhất định. Nếu một tên có nhiều hơn một nghĩa trong một phạm vi và không có cách nào để làm tên đó trở thành một nghĩa, thì khai báo ở trong cùng của tên là lỗi và phải được thay đổi. Hãy xem xét đoạn mã sau:

using System;

 

class MyObject {

     public MyObject(int x, int y) {

          this.x = x;

          this.y = y;

     }

 

     int x;

     int y;

}

Trong cấu tử, x tham chiếu đến tham số x bởi vì các tham số có mức ưu tiên cao hơn các biến thành phần. Để truy xuất biến x của một thể hiện, nó phải được thêm this. vào trước, điều này cho biết rằng nó phải là một biến thể hiện.

 

Cách tổ chức như trên là được ưa thích hơn việc đổi tên các tham số của cấu tử hay các biến thành phần để tránh sự xung đột về tên.

 

Trong tình huống sau không có cách nào để đặt tên cả hai biến, và do đó một khai báo bên trong là một lỗi:

// error

using System;

 

class MyObject {

     public void Process() {

          int x = 12;

          for (int y = 1; y < 10; y++) {

               // no way to name outer x here.

               int x = 14;

               Console.WriteLine(“x = {0}”, x);

          }

     }

}

Bởi vì việc khai báo x ở bên trong sẽ che khai báo x ở bên ngoài, điều này là không được cho phép.

C# có hạn chế này để cải thiện mã có thể đọc và sửa đổi. Nếu hạn chế này không được sử dụng, thì có thể gây khó khăn cho bạn trong việc xác định phiên bản nào của biến đang được sử dụng – hoặc thậm chí có nhiều phiên bản – bên trong một phạm vi lồng nhau.

 

 

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Related posts

GT C Sharp cơ bản – Bài 30 : Chương 29:  So sánh C# với các ngôn ngữ khác

GT C Sharp cơ bản – Bài 29 : Chương 28: Dòng lệnh

GT C Sharp cơ bản – Bài 28 : Chương 27: Tính tương hoạt