第一章C#与.
NET概述本章主要目标通过本章的学习,主要把握以下内容:了解.
NETFramework的结构.
理解.
NETFramework的基本概念CLRJITCTSMSIL了解.
NETFramework命名空间了解C#程序的基本结构熟悉VisualStudio.
NET的配置熟悉如何创建一个控制台应用程本章重点.
NETFramework的体系结构及其组件.
熟悉VS.
NET2005,并能够使用该工具来创建C#应用程序.
本章难点什么是CLS、CTS、MSIL和JITVS.
NET2005的环境配置一、.
NETFramework简介.
NETFramework是.
NET应用程序开发和运行的环境,提供了.
NET应用程序中使用的类库,类似于JVM.
它不但使Internet上运行的应用程序更容易被开发,而且也可用于开发运行于Windows桌面上的传统应用程序.
MicroSoft.
NET为创建、部署以及管理安全、强大、高效的应用程序提供了前所未有的最大支持.
.
NETFramework主要包含下列两个组件:CLR:公共语言运行时统一的类库,包括:线程文件输入/输出(I/O)数据库支持XML解析数据结构……当然,还包括编程语言和ASP.
NET.
其中支持.
NETFramework的一些编程语言为C#、VC++、VB.
NET和Jscript.
ASP.
NET主要用于简化WEB应用和服务的开发,不但是传统意义上的应用和服务,而且包括移动设备上的应用和开发.
二、.
NETFramework体系结构.
NETFramework是一个创建、部署和运行应用程序的多语言平台,能够开发多种平台的应用程序,其体系结构如图1所示:图1.
NETFramework的体系结构.
NETFramework使程序员能够开发用于Windows、Internet、PocketPC(个人掌上电脑)、SmartPhone(智能电话)和TablePC(平板电脑)等多种平台的应用程序.
此外它还提供了多种编程语言可供选择.
程序员使用.
NET支持的语言之一来开发应用程序.
这些应用程序使用的基类库由.
NETFramework类库(FCL)提供,例如:要显示文本信息,可编写以下代码:System.
Console.
WriteLine(".
NET体系结构");可以看到,只要支持.
NETFramework,就支持.
NET的开发,就如支持JVM就支持Java开发的机制是一样的.
三、.
NETFramework的组件.
NETFramework主要由FCL(框架类库)和CLR(公共语言运行时)构成,图2显示了.
NETFramework的组件及其要素.
图2.
NETFramework的组件其中:WebForm:与HTML类似,提供一组网页设计的类.
WebServices:包括一组设计Web服务的类,可用来构造网络服务器的应用程序.
WinForms::提供一组Windows的窗体应用程序设计和开发的类.
ASP.
NET:提供一组用于创建Web应用程序的类.
ADO.
NET:提供一些可与数据库进行交互的类.
XML:用于XML操纵、搜索和转换.
基本框架类:提供基本功能,如I/O、字符串处理、安全性管理和网络通信等.
通用语言规范CLS:规定了使用所有语言都毕业遵循的基本语言功能的公共子集.
公共类型系统CTS:描述如何在运行时声明、使用和管理像类、结构、枚举、接口等类型,从而便于在各种语言之间使用这些类型.
CLR和MSILCLR:托管代码,为与.
NETFramework配合使用的任何语言提供了诸如内存管理、安全性和错误处理等功能.
保证了.
NET中其他语言也都具有的功能.
MSIL:微软中间语言,由一组特定的指令组成,这些指令指明如何执行代码.
JIT编译器的主要工作是将普通MSIL代码转换为可以直接由CPU执行的计算机代码.
CLS和CTSCLS:规定所有.
NET语言都应遵循的规则;生成可与其他语言互操作的应用程序.
CTS:公共类型系统,包含标准数据类型和准则集.
四、C#的常用命名空间命名空间:对具有相关功能的类在逻辑上进行分组,类似于存放相关物品的容器.
例如一所大学中的人员模型可能包括以下几种类型:个人、学员、职员、大学生等.
一般认为,命名空间有助于改善数据的构成,从而使每个人都可以轻松地获得想要的数据.
在.
NETFramework中,所有的命名空间基本上从System中形成的.
System命名空间为根命名空间,它包含了定义.
NET中使用的公共数据类型,这些数据类型包括Boolean、DateTime和Int32等.
此命名空间中包括的另一个重要的数据类型为"Object".
Object数据类型形成所有其他.
NET对象继承的基本对象.
常用的命名空间如表1所示:表1System下的二级命名空间命名空间说明System.
Drawing处理图形和绘图,包括打印System.
Data处理数据存取和管理,在定义ADO.
NET技术中扮演重要角色System.
IO管理对文件和流的同步和异步访问System.
Windows处理基于窗体的窗口的创建System.
Reflection包含从程序集读取元数据的类System.
Threading包含用于多线程编程的类System.
Collections包含定义各种对象集的接口和类五、VisualStudio.
NET2005的功能VisualStudio.
NET2005是一套完整的开发工具,用于构建高性能的桌面应用程序、XMLWebServices、移动应用程序和ASPWeb应用程序.
而且,使用VisualStudio.
NET2005还可以使基于团队进行的企业解决方案的设计、开发和部署更加简单.
VisualStudio.
NET2005是一个开发工具包,这个集成开发环境(IDE)主要包括:自定义IDE启动VisualStudio后,将出现"起始页",如下图3所示:图3VisualStudio起始页项目:包含指向最近用过的项目链接.
对于最近查看过的项目,还会显示相应的修改日期.
该选项卡有"打开项目"和"新建项目"两个按钮,分别用于打开或新建一个项目联机资源:提供在线的MSDN更新链接.
当计算机连接到Internet时,只要选定窗格中的链接,VisualStudio.
NET2005IDE就会自动下载更新.
"联机资源"包含以下链接:示例配置文件:用户可以在此获取与选定的配置文件和提供的关键字相关的示例.
新增功能:此部分显示VisualStudio.
NET2005IDE的新增功能和更新信息,包括示例下载和新的编程工具.
网上社区:此部分包含利用新闻组、网页和其他联机资源联系其他软件开发人员的方式.
标题新闻:这部分提供浏览文章、新闻及提供指南的方式.
联机搜索:这部分用于联机浏览MSDN(微软在线库).
下载:这部分允许用户获取代码示例和更新.
XMLWebServices:允许用户搜索已注册的XMLWebServices,以便用于应用程序开发和发布XMLWebServices.
WEB宿主:这部分为用户提供机会以使用VisualStudio.
NET扩展其解决方案.
该链接让我们可以访问一系列ASP.
NETWeb托管商,这些托管商提供免费的Web空间,并且集成了VisualStudio.
NET,以便通过非常简单的向导简化整套应用程序的部署.
我的配制文件:包含自动设置"键盘方案"、"窗口布局"和"帮助筛选器"选项的默认配置文件.
选项卡式窗口管理VisualStudio.
NET2005让我们每次都可在屏幕上轻松地查看更多的代码行.
它包括大量的工具和选项,可帮助用户管理集成开发环境(IDE)中的窗口.
VisualStudio.
NET2005主要功能有:自动隐藏设置方法:单击窗口上的"关闭"按钮旁边的图钉.
可停靠窗口:.
NETIDE提供了灵活的可停靠窗口,这些窗口可放置在工作区的任一位置.
选项卡式文档:该功能可以使文档窗口在IDE中一起显示为选项卡.
IDE定位:使用向前、向后按钮可以轻松定位打开的文档.
收藏夹:借助于收藏夹,可以访问使用VisualStudio.
NET2005IDE添加了书签的站点.
菜单栏:提供了各种命令可用于管理IDE以及开发、调试和执行程序.
VisualStudio.
NET中的窗口解决方案资源管理器:显示解决方案文件,该文件以树形结构显示所有项目以及对应的引用和文件.
工具箱:包含可添加到VisualStudio项目的工具或项.
服务器资源管理器:是一个共享工具窗格,该窗格可帮助开发人员对有权限进入的任何计算机上的资源进行访问和操纵.
"服务器资源管理器"可用于将计算机连接到服务器并查看其资源,这包括消息队列、性能计数器、服务、进程、事件日志和数据库对象.
另外,"服务器资源管理器"还能以编程的方式在VisualStudio.
NET2005应用程序中引用服务器组件和资源,还可以帮助访问XMLWebServices.
类视图:以树形方式显示一个项目的命名空间、函数、方法和类的逻辑视图.
属性窗格:用于查看与设置控件、类和项目的属性.
使用动态帮助:MSDN在线库提供的所有主题和帮助都可以在"动态帮助"窗格中获得.
六、环境设置利用"工具"菜单中的"选项"对话框来进行.
主要可以设置如下选项:改变窗口的默认外观及其布局指定保存项目的默认位置指定常用命令的快捷键确定"任务列表"和"解决方案资源管理器"的默认行为确定在生成项目或项目的解决方案时是否自动保存已更改的文件七、C#应用程序文件夹结构在创建项目时,VisualStudio.
NET2005自动创建一个与项目同名的文件夹,此处为"HelloWorld".
该文件夹包含项目文件"HelloWorld.
csproj"和其他关联文件.
每个新项目都创建了bin和obj两个文件夹.
这两个文件夹下都有一个Debug子目录,其中包含可执行文件HelloWorld.
exe.
在"解决方案资源管理器"中启用"显示所有文件"选项,可查看"HelloWorld"项目的结构.
项目的目录结构如图4所示:图4"HelloWorld"的文件夹结构.
八、创建和编译HelloWorld控制台应用程序(1)用记事本创建一个C#控制台程序示例程序:如何利用记事本创建一个C#应用程序.
usingSystem;//导入System命名空间namespaceNotepad//声明命名空间Notepad{classHelloWorld//声明HelloWorld类{publicstaticvoidMain()//程序入口点,Main的返回类型为void{Console.
WriteLine("HelloWorld");//控制台类的WriteLine()方法用于显示输出结果}}}说明usingSystem:引入命名空间System中的类文件,使其存在的方法成为程序的一部分.
namespaceNotepad:定义一个命名空间Notepad,表示生成的类HelloWorld放在该目录中.
classHelloWorld:定义一个类HelloWorld.
publicstaticvoidMain():此方法是应用程序的入口,此方法声明为publicsatic,表示该方法可以被程序的任何地方访问.
Console.
WriteLine():向控制台输出数据.
如果从控制台接受单个字符数据,可以采用Console.
ReadLine()方法.
执行步骤将文件保存为Example.
cs.
进入DOS界面(图5),切换到存储Example.
cs程序的目录中,键入命令:cscExample.
cs进行编译生成相应的Example.
exe文件运行:Example图5dos界面(2)用VisualStudio.
NET2005创建一个C#控制台应用程序.
主要步骤:单击"开始"→"程序",选择"VisualStdio.
NET2003",启动VisualStudio.
NET2005选择"文件"→"新建"→"项目",出现图6所示的窗口.
VisualStdio.
NET2005提供以下各种不同的项目类型:VisualBasic项目:用VB.
NET作为编程语言开发项目.
VisualC#项目:用C#作为编程语言开发项目.
安装和部署项目:开发可用于安装和部署应用程序的项目.
其他项目:包括可用于创建数据库项目、分布式应用程序、Web应用程序测试项目和VisualStudio分析器项目等的各种项目类型.
VisualStudio解决方案:创建不包含任何项目的空解决方案.
(3)在其中选择"VisualC#"作为项目类型,选择"控制台应用程序"作为模板.
图6新建项目点击"确定"后,"解决方案资源管理器"将自动显示该项目的内容:HelloWorld.
csproj:执行应用程序时运行的启动项目.
因此,在解决方案资源管理器中,此文件显示为粗体.
App.
ico:与项目关联的默认空白图标文件.
Assemblyinfo.
cs:包含通用程序集信息.
所有程序集信息都放置在此文件中.
Class1.
cs:类声明的文件,也是我们编程中书写代码的主要文件,并且通常我们会将其重新命名.
如今我们无论线上还是线下选择商品的时候是不是习惯问问是不是有优惠活动,如果有的话会加速购买欲望。同样的,如果我们有准备选择Vultr商家云服务器的时候,也会问问是不是有Vultr优惠码或者优惠券这类。确实,目前Vultr商家有一些时候会有针对新注册用户赠送一定的优惠券活动。那就定期抽点时间在这篇文章中专门整理最新可用Vultr优惠码和商家促销活动。不过需要令我们老用户失望的,至少近五年我们看到Vu...
Pia云是一家2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台上,商家主要销售VPS服务,采用KVM虚拟架构 ,机房有美国洛杉矶、中国香港和深圳地区,洛杉矶为crea机房,三网回程CN2 GIA,带20G防御,常看我测评的朋友应该知道,一般带防御去程都是骨干线路,香港的线路也是CN2直连大陆,目前商家重新开业,价格非常美丽,性价比较非常高,有需要的朋友可以关注一下。活动方案...
最近AS9929线路比较火,联通A网,对标电信CN2,HostYun也推出了走联通AS9929线路的VPS主机,基于KVM架构,开设在洛杉矶机房,采用SSD硬盘,分为入门和高带宽型,最高提供500Mbps带宽,可使用9折优惠码,最低每月仅18元起。这是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选。...