ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#学习记录P5

2022-01-14 14:59:40  阅读:163  来源: 互联网

标签:记录 C# P5 namespace three Class3 命名 using class


命名空间

命名空间关键字namespace

using System;
namespace First.two.three//每个命名中间.的点表示嵌套,跟下面相同的层次结构
{
   class Class1 { }
    class Class2 { }
}
class Class5
{ 
    //这里的class5也相当于是在全局空间中
}
namespace First  //上面这段等于下面这段
{
    namespace two
    {
        namespace three
        {
            class Class3 { }
            class Class4 { }
        }
    }
}

 using

using System;//using指令可导入一个命名空间,允许不需要类型的全名就可以使用该类型

using static System.Console;//这里加了Console之后,下面的WriteLine就可以直接使用
class Test2
{

    static void Main()
    {
        Console.WriteLine("a");
    }
}

命名空间里的规则

命名的范围:在外层空间声明的名称可以直接在内部的命名空间直接使用,无需全名

using System;
namespace First
{
    namespace three
    {
        class Class3  { }
        //这里引用的时候就可以不用再打First Two全名,直接Two
    }
    namespace Tea
    {
        class FEEE : three.Class3 { }//分支引用时打他的命名空间和类型,用点隔开。这个叫做部分全名

    }
}

 

 在class Foo用的是Outer.Inner.Foo,如果要用Outer里面的Foo,得用它的全名Outer.Foo

(用的时候都是默认用的内层)

重复的命名空间

可以重复声明命名空间,只要它们没有冲突的类型名即可

using System;
namespace First
{
    namespace three
    {
        class Class3  { }
        
    }
    namespace three
    {
        class Class3 { }//这样就是不允许的,只要改下类型名即可

    }
}

嵌套using指令

 在N2里面用了using -N1,那class1也只能在N2-using N1这个命名空间里使用

到另外一个命名空间里就无法使用了

为命名空间-类型起别名

//using PR = System.First.three.Class3; 用PR起他们的一个别名
//class Program {PR.three l;} 然后开头用PR.任何一个类都可以

命名空间的高级特性

 

 

//利用using给两个类型名字都一样的起两个别名
//例如用extern alias x1;
//extern alias x2;两行
//用的时候就
class text
{
    Static void Main()
    {
        x1.某某要引用的类型 = new x1.某某要引用的类型();
        x2.某某要引用的类型 = new x2.某某要引用的类型();
    }
}

标签:记录,C#,P5,namespace,three,Class3,命名,using,class
来源: https://blog.csdn.net/qq_64968602/article/details/122471751

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有