• C# 命名空间和 using 指令详解


    C#编程中,命名空间(Namespaces)用于组织代码元素,如类、接口、枚举等,以避免命名冲突。using 指令用于导入命名空间,使得代码中可以方便地引用其中的类型,而不必每次都使用完整的命名空间路径。本篇博客将详细介绍C#中的命名空间、using 指令、using static 指令、嵌套 using 以及别名的使用。

    命名空间

    命名空间是C#中用于组织代码的一种方式。它们可以包含类、接口、委托、枚举以及其他命名空间。

    namespace MyCompany.MyProduct
    {
        public class Utility
        {
            public void DoSomething()
            {
            }
        }
    }
    

    using 指令

    using 指令用于导入命名空间,使得可以访问其中的类型而不需要前缀命名空间。

    using MyCompany.MyProduct;
    
    public class Program
    {
        public static void Main(string[] args)
        {
            Utility util = new Utility();
            util.DoSomething();
        }
    }
    

    using static 指令

    C# 6引入了using static 指令,它允许导入一个类型或命名空间中的静态成员,而不需要指定类型名。

    using static System.Math;
    
    public class Program
    {
        public static void Main(string[] args)
        {
            double result = Pow(2, 3); // 直接使用静态方法Pow
            Console.WriteLine(result);
        }
    }
    

    嵌套 using 指令

    using 指令可以嵌套使用,以缩小导入的范围。

    namespace MyCompany
    {
        namespace MyProduct
        {
            public class Utility
            {
                public void DoSomething()
                {
                }
            }
        }
    }
    
    // 嵌套using,只导入MyProduct下的Utility类
    using MyCompany.MyProduct;
    
    public class Program
    {
        public static void Main(string[] args)
        {
            Utility util = new Utility();
            util.DoSomething();
        }
    }
    

    别名

    别名用于解决命名空间或类型的名称冲突问题。

    为命名空间指定别名

    using CompanyA = MyCompany.MyProduct;
    using CompanyB = YourCompany.MyProduct;
    
    public class Program
    {
        public static void Main(string[] args)
        {
            CompanyA.Utility utilA = new CompanyA.Utility();
            CompanyB.Utility utilB = new CompanyB.Utility();
        }
    }
    

    为类型指定别名

    namespace MyCompany.MyProduct
    {
        public class Program
        {
        }
    }
    
    // 为MyCompany.MyProduct.Program指定别名
    using Program = MyCompany.MyProduct.Program;
    
    public class MainClass
    {
        public static void Main(string[] args)
        {
            Program program = new Program();
        }
    }
    

    为成员指定别名(全局命名空间)

    从C# 7.1开始,可以使用全局命名空间别名。

    using global::System;
    
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
    

    通过合理使用命名空间和using 指令,可以使C#代码更加清晰、简洁。希望这篇博客能帮助你更好地理解和运用C#中的命名空间和using 指令。

  • 相关阅读:
    【机器学习】python机器学习scikit-learn和pandas进行Pipeline处理工作:归一化和标准化及自定义转换器(二)
    猿创征文|详解从0开始的嵌入式学习路线,学什么、怎么学?
    Android13 adb 无法连接?
    自我认知是智能最高维度的智力活动
    引擎之旅 Chapter.4 日志系统
    学Python的漫画漫步进阶 -- 第十一步.常用的内置模块
    2023年中国多功能折叠刀产量、销量及市场规模分析[图]
    系统配置与性能评价>性能指标
    一个iOS 列表头部放大工具
    git push 失败 shallow update not allowed
  • 原文地址:https://blog.csdn.net/qq_29752857/article/details/139329222