命名空间与引用#
随着代码增多、类越来越多,把所有代码写在一个命名空间下会导致文件结构复杂化。命名空间用于分类组织代码,避免命名冲突。
基本语法#
using 指令#
using 指令用于引用其他命名空间,引入后可以直接使用其中的类型,无需写全限定名:
// 引入命名空间后,可以直接使用其中的类
using 索引器演示; // 引用自定义命名空间
using System; // 引用系统命名空间
namespace 命名空间
{
internal class Program
{
static void Main(string[] args)
{
BBB a = new BBB(); // 直接使用,无需写 索引器演示.BBB
a.Add(new AAA() { Age = 1, Name = "hsdfjakfjal" });
Console.WriteLine(a[0].Name);
}
}
}
引用静态类#
using static 指令可以引入静态类,引入后可以直接调用其静态成员,无需通过 类名.成员 的形式访问:
// 引入静态类后,其中的静态方法可以直接调用
using static System.Console; // 引入 Console 类
using static 引用静态类.Test; // 引入自定义静态类
namespace 引用静态类
{
internal class Program
{
static void Main(string[] args)
{
WriteLine(123); // 直接调用,无需 Console.WriteLine()
Fn(); // 直接调用,无需 Test.Fn()
}
}
public static class Test
{
public static void Fn()
{
Console.WriteLine("静态类启动!");
}
}
}
类库引用#
在项目中引用另一个项目的类库(如 me 命名空间下的 Rate 工具类):
// 在项目中添加对 me 项目的引用后
using me;
namespace 类库测试
{
internal class Program
{
static void Main(string[] args)
{
// 直接调用 me 命名空间中的静态方法
Console.WriteLine(Rate.StrIndex("asad", "a"));
}
}
}
关键要点#
| 概念 | 说明 |
|---|---|
using 命名空间 |
引用命名空间,使用其中的所有公开类型 |
using static 类名 |
引用静态类,直接调用其静态成员 |
| 项目间引用 | 需要先在项目中添加引用(Add Reference),才能 using 其他项目的命名空间 |
| 命名冲突 | 两个命名空间有同名类时,需使用全限定名 命名空间.类名 区分 |
相关笔记#
- C# 基础 — C# 基础概念与程序结构
- 密封类与静态类 — 静态类详解
- String 字符串 — 自定义工具类(类库引用示例)