Namespace được sử dụng để phân nhóm các lớp, giúp chúng ta kiểm soát phạm vi của các phương thức và các lớp trong các dự án lập trình .Net lớn. Cùng tham khảo tiếp bài viết dưới đây của Taimienphi.vn để tìm hiểu chi tiết về Namespace trong C# là gì nhé.
Namespace trong C# là gì?
Có thể hiểu nôm na, Namespace là một cách để phân nhóm tập hợp các tên (chẳng hạn như tên lớp) khác với các tập hợp tên khác. Ưu điểm lớn nhất khi sử dụng Namespace là tên các lớp được khai báo trong namespace này không bị xung đột với tên các lớp khác có cùng tên được khai báo trong namespace khác.
Ngoài ra namespace còn được hiểu là một nhóm các lớp có đặc điểm chung. Các thành viên của namespace có thể là namespace, interface, cấu trúc (structure), và delegate.
Để định nghĩa namespace trong C#, chúng ta sẽ sử dụng từ khóa namespace, theo sau là tên của namespace và dấu ngoặc {} chứa phần thân của namespace như dưới đây:
2.1. Cú pháp định nghĩa Namespace
Cú pháp định nghĩa Namespace có dạng như dưới đây:
namespace tên_của_namespace {
// Namespace (Nested Namespaces)
// Classes
// Interfaces
// Structures
// Delegates
}
Ví dụ
Dưới đây là ví dụ về định nghĩa namespace trong C#:
Các thành viên của namespace được truy cập bằng cách sử dụng toán tử (.). Một lớp đầy đủ trong C# bao gồm cả namespace tương ứng của nó.
3.1 Cú pháp truy cập thành viên của Namespace
Cú pháp truy cập thành viên của Namespace có dạng: [namespace_tên].[member_tên]
Lưu ý:
- 2 lớp có cùng tên có thể được tạo từ 2 namespace khác nhau trong cùng một chương trình.
- Trong một namespace, không thể có 2 lớp cùng tên.
- Trong C#, tên đầy đủ của lớp bắt đầu từ tên namespace của nó, theo sau là toán tử (.) và tên lớp, được gọi là tên đầy đủ của lớp.
3.2. Ví dụ về truy cập thành viên của Namespace
Kết quả đầu ra có dạng: Hello Taimienphi.vn!
Trong ví dụ trên:
- Trong System.Console.WriteLine(), "System" là một namespace, trong đó tên lớp là "Console" và phương thức là "WriteLine()".
- Không nhất thiết phải nhóm mỗi lớp trong C# trong namespace riêng, tuy nhiên chúng ta có thể làm điều này để sắp xếp các mã cho phù hợp.
- Ở đây dấu "." là dấu phân cách được sử dụng để tách tên lớp khỏi namespace và tên hàm khỏi tên lớp.
Trong thực tế, khi gọi một hàm hoặc một lớp (hoặc các thành viên của namespace) chúng ta không cần sử dụng tền đầy đủ của nó.
Trong ví dụ trên, System.Console.WriteLine("Hello Geeks!"); và first.Geeks_1.display(); là tên đầy đủ. Vì vậy C# cung cấp từ khóa "using" giúp người dùng tránh phải viết đi viết lại tên đầy đủ. Thay vào đó người dùng chỉ cần đề cập đến tên namespace ở phần đầu chương trình.
4.1. Cú pháp
Dưới đây là cú pháp sử dụng từ khóa Using: using [namespace_tên][.][ namespace con_tên];
Trong cú pháp trên, dấu chấm (.) được sử dụng để bao gồm tên namespace con trong chương trình.
4.2. Ví dụ
Dưới đây là một số ví dụ về từ khóa Using trong C#:
- Ví dụ 1:
- Ví dụ 2:
Kết quả đầu ra có dạng:
Hello Taimienphi.vn!
Ngoài ra bạn có thể định nghĩa một namespace bên trong một namespace khác được gọi là namespace lồng nhau (hay Nested Namespace). Để truy cập các thành viên của namespace lồng nhau, chúng ta sử dụng toán tử (.).
Cho ví dụ, Generic là namespace lồng nhau trong nhóm namespace có dạng System.Collections.Generic.
5.1. Cú pháp namespace lồng nhau
Cú pháp namespace lồng nhau có dạng:
namespace tên_của_namespace_1
{
// khai báo và định nghĩa thành viên
namespace tên_của_namespace_2
{
// khai báo và định nghĩa thành viên
.
.
}
}
5.2. Ví dụ
Dưới đây là ví dụ về namespace lồng nhau:
Kết quả đầu ra có dạng: Nested Namespace Constructor
Bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về Namespace trong C# là gì. Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết khác đã có trên Taimienphi.vn để tìm hiểu rõ hơn về Enum trong C# là gì nhé.