|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
完全不一样的。.net其实我也说不太清,.net可以把他理解为跟J2EE相对的工具。c++主要做系统相关的开发你要学.net的话就应该学C#。(其实微软在.NET平台上也考虑了给C++留一个地位。程序|标准|定名空间 除依附于几个体系供应的类(如System.Console),到今朝为止先容的程序都是自力存在的。但更罕见的情形是:实践的使用程序由多少分歧的部分构成,每一个部分分离举行编译。比方,企业级使用程序大概依附于多少分歧的组件,个中包含某些外部开辟的组件和某些从自力软件供给商处购置的组件。
定名空间和程序集有助于开辟基于组件的体系。定名空间供应一个逻辑构造系统。定名空间既用作程序的“外部”构造系统,也用作“内部”构造系统(一种暗示向其他程序公然程序元素的路子)。
程序集用于物理打包和部署。程序集能够包括范例、用于完成这些范例的可实行代码和对其他程序集的援用。
有两种次要的程序集:使用程序和库。使用程序有一个主出口点,一般具有.exe文件扩大名;而库没有主出口点,一般具有.dll文件扩大名。
为了申明定名空间和程序集的利用,本节再次之前面先容的“hello,world”程序为例,并将它分为两个部分:供应动静的类库和显现动静的把持台使用程序。
这个类库仅含一个名为HelloMessage的类。示例
//HelloLibrary.cs
namespaceMicrosoft.CSharp.Introduction
{
publicclassHelloMessage
{
publicstringMessage{
get{
return"hello,world";
}
}
}
}
显现了名为Microsoft.CSharp.Introduction的定名空间中的HelloMessage类。HelloMessage类供应一个名为Message的只读属性。定名空间能够嵌套,而声明
namespaceMicrosoft.CSharp.Introduction
{...}
仅是多少层定名空间嵌套的简写情势。若不简化,则应当像上面如许声明:
namespaceMicrosoft
{
namespaceCSharp
{
namespaceIntroduction
{...}
}
}
将“hello,world”组件化的下一个步骤是编写利用HelloMessage类的把持台使用程序。可使用此类的完整限制名Microsoft.CSharp.Introduction.HelloMessage,但该称号太长,利用起来不便利。一种更便利的办法是利用“using定名空间指令”,如许,利用响应的定名空间中的一切范例时就不用加限制称号。示例
//HelloApp.cs
usingMicrosoft.CSharp.Introduction;
classHelloApp
{
staticvoidMain(){
HelloMessagem=newHelloMessage();
System.Console.WriteLine(m.Message);
}
}
显现了一个援用Microsoft.CSharp.Introduction定名空间的using定名空间指令。如许,HelloMessage就成为Microsoft.CSharp.Introduction.HelloMessage的简写情势。
C#还同意界说和利用别号。using别号指令界说范例的别号。当两个类库之间产生称号抵触时,大概当利用年夜很多的定名空间中的多数范例时,这种别名很有效。示例
usingMessageSource=Microsoft.CSharp.Introduction.HelloMessage;
显现了一个using别号指令,该指令将MessageSource界说为HelloMessage类的别号。
我们已编写的代码能够编译为包括类HelloMessage的类库和包括类HelloApp的使用程序。此编译步骤的细节大概因利用的编译器或工具而异。利用VisualStudio.NET中供应的命令行编译器时,用以下所列的命令:
csc/target:libraryHelloLibrary.cs
csc/reference:HelloLibrary.dllHelloApp.cs
它发生一个名为HelloLibrary.dll的类库和一个名为HelloApp.exe的使用程序。
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。 |
|