C#程序设计_第1章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章.NET初步
1.1什么是.Net
⏹什么是.Net?它主要包括什么?
◆.Net是为简化在第三代因特网的高分布式环境下的应用程序
开发,基于开放互联网标准和协议之上,实现异质语言和平台
高度交互性,而构建的新一代计算和通信平台。

◆.Net主要包括公共语言运行时(Common Language Runtime)
和.Net框架类库。

⏹.Net主要的优点有哪些?
◆.Net的主要优点有跨语言、跨平台、安全、以及对开放互联
网标准和协议的支持。

◆.Net支持多种语言的互操作,即在一种语言下开发的组件,
可在另一组件下通过面向对象的继承而得以重用,目前.Net
支持的语言达二十多种。

◆.Net通过将各语言先编译成中间语言(IL),然后再执行时用即
时(Just In Time)编译器将之编译成本地平台代码来实现异构
平台下对象的互操作,目前.Net支持的平台有Windows,Linux
和Unix的支持正在开发中。

◆.Net通过公共语言运行时(Common Language Runtime)来实现
资源对象,类型的安全。

◆.Net通过对HTTP、XML、SOAP、WSDL等Internet标准的强劲
支持,提供在异构网络环境下获取远程服务、连接远程设备、
交互远程应用的编程界面.
⏹.Net中的公共语言运行时(Common Language Runtime)指什么?它
在.Net中处什么位置?
◆CLR(Common Language Runtime)公共语言运行时是整个.net
framework构建的基础,是实现.Net跨平台、跨语言、代码安
全等核心特性的关键。

它实际上是驻留在内存里的一段代理代
码,负责在整个.net整个执行期间的代码管理工作,比较典
型的有:内存管理、线程管理、远程管理、代码强制安全类型
等。

这些都可称得上.net framework的生命线。

实际上,公
共语言运行时代理了一部分操作系统的管理功能。

⏹.Net框架类库是什么?包括哪些内容?
◆.Net框架类库是基于运行时面向对象的特性而建造的,和公
共语言运行时紧密集成的一组可重用类(Class)的集合。

它大
大简化了软件开发的难度,而且很容易与第三方组件无缝集
成。

◆.Net架构类库主要包括对以下编程模型的支持:
●控制台应用程序。

●脚本和宿主应用程序。

●Windows Forms应用程序(Windows 桌面GUI应用程序)。

◆应用程序。

◆Web Services应用程序。

◆Windows 服务程序
⏹.Net支持的开发语言有哪些?.Net语言的互操作性是指什么?
◆.Net声称支持市面上20多种语言,但目前只有微软官方发布
的C#、Visual 、Visual C++.Net和JScript,其他
厂商声称正在开发中的支持工具有COBOL、Eiffel、Perl、
Smalltalk、Python。

◆.Net语言的互操作性是指遵循公共语言运行时(Common
Language Runtime)规范的语言在对象继承方面的支持,即用
一种语言在.Net平台下开发的类可在另一语言中重用,这通
过一种称作微软中间语言MIL来实现,即语言编译器首先将该
语言编译成微软中间语言,再在相应平台下编译出本地代码。

这一切都是在公共语言运行时的规范下进行。

⏹.Net支持的平台有哪些?它的跨平台实现得如何?
◆目前支持.Net的平台有Windows XP、 Windows Server 2003、
Windows 2000、 NT4 SP6a、 Windows Me和Windows 98。


声称支持的平台有Unix,Linux等,目前有三个项目正在开发
Linux下的.Net平台:Ximian公司的Mono项目、DotGNU以及。

⏹.Net与COM的关系是什么?.Net是否意味着COM的终结?
◆COM定义了组件对象间通信的二进制标准,.Net通过组件内置
的类型系统提供了类似的机制,它为此提供了另一个途
径。

.Net并不意味着COM的终结,但必将大大减少开发人员
对COM的依赖。

.Net 支持COM和.Net组件之间的互操作性,
实际上可通过Runtime Callable Wrapper(RCW)来实现在.Net
中获取COM组件,通过COM Callable Wrapper(CCW)来实现
在COM中获取.Net组件。

⏹.Net中的中间语言(IL)是什么?它在.Net平台中起什么作用?开
发人员可以用中间语言(IL)编程吗?
◆.Net中的中间语言是指可以在公共语言运行时规范下,.执行
时通过即时(Just In Time)编译器转化为本地代码的,与CPU
独立的一组指令集合。

它在.Net平台中是实现语言互操作的
一个核心环节,所有.Net平台的语言都要先被编译成中间语
言(IL)。

程序员也可以直接利用中间语言(IL)来编程,但不
推荐那样做,中间语言对理解.Net对象某些行为和程序的调
试很有帮助
⏹.Net中的自动垃圾收集是什么?它给.Net平台下的编程带来什
么变化?
◆.Net垃圾收集器负责整个.Net运行时受管代码的内存分配与
释放任务。

它通过一定的优化算法来选择收集的对象和时间。

程序员只有在释放大量受管资源时可以进行立即强制垃圾收
集,在释放非受管资源时采用终止化(Finalize)操作来处理,需要在程序运行中释放的应该实现Dispose()方法,并明确调
用。

其它时间将资源的回收交由.Net垃圾收集起来做。

⏹.Net的受管(Managed)代码与非受管(Unmanaged)代码指什么?他
们的编码有什么区别?.Net的受管代码(Managed Code)是指符合
公共语言运行时(Common Language Runtime)规范,在内存中
受运行时代码代理进行内存管理,线程管理,远程管理,代码
强制安全类型的代码。

非受管代码指对内存,文件,数据库等
非受管资源进行操作的代码,他们通常不受运行时代码代理管
理,是不安全的。

对受管代码的编程只需专注于编程的逻辑,
对于内存等资源的管理交由公共语言运行时(Common Language Runtime)来负责,而对非受管代码的编程,则要开
发人员精心负责各种非受管资源的分配和回收工作。

⏹.Net平台上的开发工具有哪些?目前发展到什么阶段?
◆.Net平台上的开发工具目前只有微软官方的Visual
,其它 及Linux下的开发工具正在开
发中。

⏹.Net的网络资源有哪些?
◆ 第三方的.net门户网站
◆/net 微软的.net门户网站
◆/net 微软的开发人员.net门户网站
◆ c#门户网站
◆/dotnet 老牌程序员网站的.net专版
◆ c#门户
◆ 微软的,webservice的门户网站
◆ 微软的team组建的.net网站
◆ .net最新图书门户网站
◆ 人气最旺,技术最强的国外.net论坛
1.2 Internet与Microsoft平台的演进
⏹微软公司的三代Internet平台
◆第一代Internet:浏览器只能显示静态的网页。

◆第二代Internet:Windows DNA(Distributed Internet
Architecture)三层式应用程序结构时代。

应用程序:表示层、商业层、数据访问层。

◆第三代Internet:可编程Web时代。

⏹.NET的技术特征
◆软件变成服务
◆基于XML的共同语言
◆融合多种设备和平台
◆新一代人机界面
1.3 .NET体系结构
见参考书Page 4,图1-1
1.4 .NET框架
⏹.NET框架
⏹公共语言运行时CLR(Common Language Runtime)
◆虚拟对象系统(VOS)
◆即时编译
◆元数据
◆内存管理自动化
◆解决版本与发布问题
◆结构异常处理机制
◆增强的完全性
⏹服务框架
◆基类库:集合、输入/输出、字符串、数据类。

◆访问操作系统的类
◆类库
◆调试和剖析服务等开发工具
1.5
ASP:Active Server Pages
ASP与的比较
介绍
在这个实践练习中,你将创建ASP(Active Server Pages) 页面和页面,他们分别从数据库中取出数据并生成一个的HTML页面.在这两个例子中,数据访问的概念是相同的--它们都涉及与数据库的连接。

但是收集数据和显示数据的方式是不同的。

创建ASP页面
1.打开Visual 集成开发环境:点击Start,点击Programs,点击Experience VS .NET Content,点击Lab 3,点击ASP Source。

一个名为Authors.asp 的空ASP页面文件会在Visual Studio .NET IDE中打开,如图1所示。

图1 ASP页面
2.敲入以下代码
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>
</HEAD>
<BODY>
<DIV align=center>
<H1>Authors</H1>
<%
'
' Connecting to a database
'
dim cn
set cn = server.CreateObject("ADODB.Connection")
cn.Open "Provider=sqloledb;" _
& "Data Source=(local);" _
& "Initial Catalog=pubs;" _
& "User ID=sa"
' Retrieving Data via the Recordset Object.
dim rs
set rs = server.CreateObject("ADODB.Recordset")
rs.Open "select au_fname, au_lname, phone from authors order by au_lname",cn %>
注意:
下面的代码是由静态HTML和服务器端脚本构成的,用一个循环把数据集(recordset)中的所有数据遍历出来。

<TABLE border='1'>
<TR>
<TH>First Name</TH>
<TH>Last Name</TH>
<TH>Phone</TH>
</TR>
<%
do until rs.EOF
Response.Write "<TR>"
Response.Write "<TD>" & rs("au_fname") & "</TD>"
Response.Write "<TD>" & rs("au_lname") & "</TD>"
Response.Write "<TD>" & rs("phone") & "</TD>"
Response.Write "</TR>"
rs.MoveNext
loop
%>
</TABLE>
<!-- Footer -->
<h5>Current as of <%Response.Write now%></h5>
</DIV>
</BODY>
</HTML>
3.点击File,再点击Save Authors.asp。

4.关闭IDE。

观看ASP页面
1.观看ASP页面:点击Start,点击Programs,点击Experience Content,点击Lab 3,再点击ASP。

页面显示如图2。

图2 ASP页面显示结果
创建页面
1.打开Visual IDE:点击Start,点击Programs,点击Experience Content,点击Lab 3,然后点击ASP .NET VB Source。

一个名为Authors VB.aspx的空页面文件会在Visual IDE打开,如图3所示。

图3 页面
2.点击Visual 窗口左下角的HTML按钮查看页面代码
3.敲入以下代码
注意:System.Data和System.Data.SqlClient名字空间(namespaces)被声明在页面顶端,所以这两个名字空间中的所有类可以在下面页面中可用。

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>
</HEAD>
<BODY>
<DIV align=center>
<H1>Authors</H1>
注意:服务器端脚本与静态HTML完全分离。

你可以使用任何run-time语言,例如Microsoft Visual Basic?,Microsoft? Jscript?和C#。

注意:下面代码中的DataSet对象取代了Recordset对象,并请注意SQLDataAdapter对象中的fill方法。

注意:下面代码设置了DataGrid 控件的DataSource属性。

注意DataSet对象中Table集合,跟Recordset对象不同,DataSet对象可以包含多个表.
注意:在下面代码中,DataGrid控件用DataBind方法载入数据,然后DataGrid 控件以HTML表形式显示数据。

注意:下面第一行代码往页面中嵌入了一个DataGrid对象。

DataGrid控件的其它属性也可以通过加入属性/值对来设置,例如:Width="700" BackColor="#ccccff"。

4.点击File,再点击Save Authors VB.aspx。

5.关闭IDE。

观看ASP页面
1.查看页面:点击Start,点击Programs,点击Experience VS .NET Content,点击Lab 3,再点击-VB。

页面显示如图4。

图4 显示页面
结束
当你完成了查看页面的工作,关闭所有窗口。

第2章。

相关文档
最新文档