命名空间C#中Namespace命名空间的作用

命名空间  时间:2021-01-24  阅读:()

请问C#中命名空间的具体内容是指什么呢?其有什么作用啊?

C#中的类是利用命名空间组织起来的。

命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。

命名空间声明 用namespace 关键字用于声明一个命名空间。

此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法。

namespace name { 类型定义 } 其中:在命名空间中,可以声明类、接口、结构、枚举、委托 命名空间。

如果未显式声明命名空间,则会创建默认命名空间。

该默认的命名空间(有时称为全局命名空间)。

全局命名空间中的任何标识符都可用于命名的命名空间中。

命名空间声明可以作为顶级声明出现在编译单元中,当命名空间声明作为顶级声明出现在编译单元中时,该命名空间成为全局命名空间的一个成员。

命名空间声明出现在另一个命名空间声明内时,该内部命名空间就成为包含着它的外部命名空间的一个成员。

无论是何种情况,一个命名空间的名称在它所属的命名空间内必须是唯一的。

命名空间隐式地为 public,而且在命名空间的声明中不能包含任何访问修饰符。

嵌套的命名空间 命名空间声明中声明命名空间,各命名空间用”.”分隔。

例如: namespace N1.N2 { class A {} class B {} } 在语义上等效于 namespace N1 { namespace N2 { class A {} class B {} } } 引用类 引用一个类可以用完全限定名来限定引用类(类名前加上命名空间名),以防止命名冲突。

using 指令来导入其他命名空间和类型的名称,直接地而不是通过限定名来引用它们。

Using指令 using 别名指令为一个命名空间或类型启用一个别名。

using 命名空间指令用于导入一个命名空间的类型成员。

(1) using 命名空间指令将一个命名空间中所包含的类型导入到编译单元或命名空间体中,从而可以直接使用这些被导入的类型的标识符而不必加上它们的限定名。

如: namespace N1.N2 { class A {} } namespace N3 { using N1.N2; class B { public static void Main() { A a=new A(); } } } 上面的示例中,在 N3 命名空间中N1.N2 的类型成员是直接可用的,不需要完全限定名. (2)using 命名空间指令导入包含在给定命名空间中的类型,但要注意,它不导入嵌套的命名空间。

示例: namespace N1.N2 { class A {} } namespace N3 { using N1; class B { public static void Main() { A a=new A(); //错误,N1.N2命名空间中的类型没有导入到命名空间N3中 } } } (3)using 命名空间指令导入的名称会被编译单元或命名空间体中具有相同名称的成员所隐藏。

例如: namespace N1.N2 { class A {} class B {} } namespace N3 { using N1.N2; class A {}//N3.A } 在 N3 命名空间中的A类与N1.N2命名空间中的A类名称相同,则N1.N2.A被N3.A隐藏,A 引用 N3.A 而不是 N1.N2.A。

(4)同一编译单元或命名空间体中的 using 命名空间指令导入多个命名空间时,如果它们所包含的类型中有重名的,则直接引用该名称就被认为是不明确的。

示例: namespace N1 { class A {} } namespace N2 { class A {} } namespace N3 { using N1; using N2; class B { public static void Main() { A a=new A()// 错误A类明确,要使用完全限定名 } } } N1 和 N2 都包含一个成员 A,而由于 N3 将两者都导入,所以在 N3 中引用 A 会导致一个编译时错误名称冲突. using 别名指令用于为一个命名空间或类型指定一个别名。

using 标识符 = 命名空间或类型名称 ; 例如: namespace N1.N2 { class A {} } namespace N3 { using A = N1.N2.A; class B: A {} } 上面的示例中,在 N3 命名空间中,A 是 N1.N2.A 的别名,因此类 N3.B 从类 N1.N2.A 派生。

通过为 N1.N2 创建别名 R 然后引用 R.A 可以得到同样的效果: namespace N3 { using R = N1.N2; class B: R.A {} } using 别名指令中的别名在直接包含该 using 别名指令的编译单元或命名空间的声明空间内必须是唯一的。

例如: namespace N3 { class A {} } namespace N3 { using A = N1.N2.A; // 错误,命名冲突 } 上例中,N3 已包含了成员 A,因此 using 别名指令使用 A 作标识符会导致一个编译时错误。

C++ 中的命名空间和类有什么区别?

展开全部 因为在C++里面没有 package这一个术语,有时可能会遇到两个类命名相同,为了避免名字冲突,c++引入了命名空间

程序集名称与默认命名空间的区别?

命名空间就相当于windows中的一个文件夹,只是这个文件夹中放的不是文件,而是类 在vs2005中创建一个项目时,会指定一个名称,也就是程序集名称,而此时会将命名空间默认设置为这个名称。

也就是说,刚开始程序集的名称就是命名空间的名称,但是你却可以修改 namespace abc { ... } 如上,可以修改abc为tom,哪么命名空间就是tom了 程序集就是一个项目,多个项目构成一个解决方案

use namespace std怎么用啊?

以前都是写include "iostream.h",这样,现在标准写法是 include <iostream> using namespace std; 这样。

具体你可以百度一下using namespace std,看百度百科里的说明

namespace用法

在一个头文件中写: namespace 命名空间名称 { 你的变量; } 然后在你需要使用这个变量的cpp文件中包含该头文件。

C#中Namespace命名空间的作用

相同名称的类,有时候就需要冠以不同的命名空间才能正确调用到正确的类。

RAKsmart便宜美国/日本/中国香港VPS主机 低至月$1.99 可安装Windows

RAKsmart 商家这几年还是在做事情的,虽然他们家顺带做的VPS主机并不是主营业务,毕竟当下的基础云服务器竞争过于激烈,他们家主营业务的独立服务器。包括在去年开始有新增多个数据中心独立服务器,包括有10G带宽的不限流量的独立服务器。当然,如果有需要便宜VPS主机的他们家也是有的,比如有最低月付1.99美元的美国VPS主机,而且可选安装Windows系统。这里商家有提供下面六款六月份的活动便宜V...

Ceranetworks顶级合作伙伴 香港E3 16G 299元 香港E5 32G 650元 美国E3 16G 650元

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

随风云-内蒙古三线BGP 2-2 5M 25/月 ,香港CN2 25/月 ,美国CERA 25/月 所有云服务器均支持5天无理由退款

公司成立于2021年,专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、三线高防、香港等优质的IDC资源。公司一直秉承”以人为本、客户为尊、永续创新”的价值观,坚持”以微笑收获友善, 以尊重收获理解,以责任收获支持,以谦卑收获成长”的行为观向客户提供全面优质的互...

命名空间为你推荐
依赖注入请问下依赖注入的三种方式的区别pw美团网电话是什么pwmate8价格现在买华为mate8高配划算吗安全漏洞什么是安全漏洞攻击??小米手柄小米蓝牙游戏手柄怎么连接游戏网站推广外链如何做网站推广 ,外链推广的方向在哪里?freebsd安装最近安装了FreeBSD安装的时候没创建普通用户,然后用超级用户的身份进入系统,但是超级用户只有一个#提示符,怎么在超级用户下去创建一个普通的用户了?厦门铁通厦门铁通宽带可以免费升级到2m么?优锁手术后为什么还在不停的流黄色液体?权重高的论坛怎样找到高权重的论坛发贴?
虚拟主机服务器 上海服务器租用 抗投诉vps主机 kddi 174.127.195.202 鲜果阅读 申请空间 申请个人网页 空间论坛 北京双线 国外代理服务器地址 太原网通测速平台 台湾谷歌 新世界服务器 in域名 域名与空间 空间登入 中国电信测速器 阿里云邮箱登陆地址 免费php空间 更多