Namespace trong C#
Bài viết được sự cho phép của BBT Tạp chí Lập trình
Một namespace trong C# được thiết kế để phân nhóm toàn bộ các kiểu dữ liệu theo một cấu trúc phân cấp. Nhờ có namespace kiểu dữ liệu được quản lí tốt hơn và tránh được hiện tượng xung đột tên. Các tên được khai báo trong một namespace không xung đột với cùng tên đó nhưng được khai báo ở một namespace khác.
Định nghĩa một namespace trong C#
Một định nghĩa namespace trong C# bắt đầu bằng từ khóa namespace theo sau là tên của namespace
Ví dụ 1:
namespace tên_namespace
{
// Khai báo code
}
Để sử dụng các namespace sử dụng toán tử dot (.) sau tên namespace
Ví dụ 2:
namespace Code
{
class Program
{
public static void Print()
{
System.Console.WriteLine("CodeGym");
}
}
}
namespace Gym
{
class Program
{
public static void Main(string[] args)
{
Code.Program.Print();
}
}
}
Ở hàm Main gọi đến phương thức Print của lớp Program nằm trong namespace Code. Kết quả hiển thị lên màn hình là chuỗi kí tự CodeGym.
Từ khóa Using trong C#
Sử dụng từ khóa using để khai báo sử dụng các lớp trong namespace.
Với ví dụ 2 để sử dụng phương thức WriteLine thuộc lớp Console trong namespace System cần phải khai báo đầy đủ là:
System.Console.WriteLine();
Sửa lại mã ở ví dụ 2 sử dụng using:
using System;
using Code;
namespace Code
{
class Class1
{
public static void Print()
{
Console.WriteLine("CodeGym");
}
}
}
namespace Gym
{
class Program
{
public static void Main(string[] args)
{
Class1.Print();
}
}
}
Kết quả hiển thị lên màn hình là chuỗi kí tự CodeGym.
Lồng namespace
Trong C# có thể định nghĩa một namespace bên trong các namespace khác, Ví dụ:
namespace NamespaceA
{
class Namespacel
{
public void InNamespace()
{
Console.Write("Code");
}
}
namespace namespaceB
{
class Namespace2
{
public void InNamespace()
{
Console.Write("Gym");
}
}
}
}
Sử dụng toán tử dot (.) để truy cập các biến thành viên của các namespace được lồng vào nhau:
NamespaceA.Namespacel ns1 = new NamespaceA.Namespacel();
NamespaceA.namespaceB.Namespace2 ns2 = new NamespaceA.namespaceB.Namespace2();
ns1.InNamespace();
ns2.InNamespace();
Kết quả hiển thị lên màn hình là chuỗi kí tự CodeGym.
Bài viết gốc được đăng tải tại Tạp chí Lập trình
Có thể bạn quan tâm:
- Hướng dẫn lấy Date và Time trong C++
- Tổng hợp vector trong C++
- Modern C++ binary RPC framework gọn nhẹ, không cần code generation
Xem thêm tuyển dụng lập trình C# hấp dẫn tại TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?