C#程序设计第1章.docx

上传人:b****5 文档编号:6208495 上传时间:2023-01-04 格式:DOCX 页数:11 大小:138.17KB
下载 相关 举报
C#程序设计第1章.docx_第1页
第1页 / 共11页
C#程序设计第1章.docx_第2页
第2页 / 共11页
C#程序设计第1章.docx_第3页
第3页 / 共11页
C#程序设计第1章.docx_第4页
第4页 / 共11页
C#程序设计第1章.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C#程序设计第1章.docx

《C#程序设计第1章.docx》由会员分享,可在线阅读,更多相关《C#程序设计第1章.docx(11页珍藏版)》请在冰豆网上搜索。

C#程序设计第1章.docx

C#程序设计第1章

第1章.NET初步

1.1什么是.Net

⏹什么是.Net?

它主要包括什么?

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

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

⏹.Net主要的优点有哪些?

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

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

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

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

◆.Net通过对HTTP、XML、SOAP、WSDL等Internet标准的强劲支持,提供在异构网络环境下获取远程服务、连接远程设备、交互远程应用的编程界面.

⏹.Net中的公共语言运行时(CommonLanguageRuntime)指什么?

它在.Net中处什么位置?

◆CLR(CommonLanguageRuntime)公共语言运行时是整个.netframework构建的基础,是实现.Net跨平台、跨语言、代码安全等核心特性的关键。

它实际上是驻留在内存里的一段代理代码,负责在整个.net整个执行期间的代码管理工作,比较典型的有:

内存管理、线程管理、远程管理、代码强制安全类型等。

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

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

⏹.Net框架类库是什么?

包括哪些内容?

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

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

◆.Net架构类库主要包括对以下编程模型的支持:

●控制台应用程序。

●脚本和宿主应用程序。

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

◆ASP.Net应用程序。

◆WebServices应用程序。

◆Windows服务程序

⏹.Net支持的开发语言有哪些?

.Net语言的互操作性是指什么?

◆.Net声称支持市面上20多种语言,但目前只有微软官方发布的C#、VisualBasic.Net、VisualC++.Net和JScript,其他厂商声称正在开发中的支持工具有COBOL、Eiffel、Perl、Smalltalk、Python。

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

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

⏹.Net支持的平台有哪些?

它的跨平台实现得如何?

◆目前支持.Net的平台有WindowsXP、WindowsServer2003、Windows2000、NT4SP6a、WindowsMe和Windows98。

其声称支持的平台有Unix,Linux等,目前有三个项目正在开发Linux下的.Net平台:

Ximian公司的Mono项目、DotGNU以及Potable.NET。

⏹.Net与COM的关系是什么?

.Net是否意味着COM的终结?

◆COM定义了组件对象间通信的二进制标准,.Net通过组件内置的类型系统提供了类似的机制,它为此提供了另一个途径。

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

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

⏹.Net中的中间语言(IL)是什么?

它在.Net平台中起什么作用?

开发人员可以用中间语言(IL)编程吗?

◆.Net中的中间语言是指可以在公共语言运行时规范下,.执行时通过即时(JustInTime)编译器转化为本地代码的,与CPU独立的一组指令集合。

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

程序员也可以直接利用中间语言(IL)来编程,但不推荐那样做,中间语言对理解.Net对象某些行为和程序的调试很有帮助

⏹.Net中的自动垃圾收集是什么?

它给.Net平台下的编程带来什么变化?

◆.Net垃圾收集器负责整个.Net运行时受管代码的内存分配与释放任务。

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

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

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

⏹.Net的受管(Managed)代码与非受管(Unmanaged)代码指什么?

他们的编码有什么区别?

◆.Net的受管代码(ManagedCode)是指符合公共语言运行时(CommonLanguageRuntime)规范,在内存中受运行时代码代理进行内存管理,线程管理,远程管理,代码强制安全类型的代码。

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

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

⏹.Net平台上的开发工具有哪些?

目前发展到什么阶段?

◆.Net平台上的开发工具目前只有微软官方的VisualStudio.Net,其它Delphi.Net及Linux下的开发工具正在开发中。

⏹.Net的网络资源有哪些?

◆第三方的.net门户网站

◆微软的.net门户网站

◆微软的开发人员.net门户网站

◆c#门户网站

◆老牌程序员网站的.net专版

◆www.c-c#门户

◆微软的,webservice的门户网站

◆微软的team组建的.net网站

◆.net最新图书门户网站

◆人气最旺,技术最强的国外.net论坛

1.2Internet与Microsoft平台的演进

⏹微软公司的三代Internet平台

◆第一代Internet:

浏览器只能显示静态的网页。

◆第二代Internet:

WindowsDNA(DistributedInternetArchitecture)三层式应用程序结构时代。

应用程序:

表示层、商业层、数据访问层。

◆第三代Internet:

可编程Web时代。

⏹.NET的技术特征

◆软件变成服务

◆基于XML的共同语言

◆融合多种设备和平台

◆新一代人机界面

1.3.NET体系结构

见参考书Page4,图1-1

1.4.NET框架

⏹.NET框架

⏹公共语言运行时CLR(CommonLanguageRuntime)

◆虚拟对象系统(VOS)

◆即时编译

◆元数据

◆内存管理自动化

◆解决版本与发布问题

◆结构异常处理机制

◆增强的完全性

⏹服务框架

◆基类库:

集合、输入/输出、字符串、数据类。

◆访问操作系统的类

◆ADO.NET类库

◆调试和剖析服务等开发工具

1.5ASP.NET

ASP:

ActiveServerPages

ASP与ASP.NET的比较

 介绍

在这个实践练习中,你将创建ASP(ActiveServerPages)页面和ASP.NET页面,他们分别从数据库中取出数据并生成一个的HTML页面.在这两个例子中,数据访问的概念是相同的--它们都涉及与数据库的连接。

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

  创建ASP页面

  1.打开VisualStudio.NET集成开发环境:

点击Start,点击Programs,点击ExperienceVS.NETContent,点击Lab3,点击ASPSource。

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

              图1ASP页面

2.敲入以下代码

<%@Language=VBScript%>

<HTML>

<HEAD>

<METANAME="GENERATOR"Content="MicrosoftVisualStudio6.0">

<STYLE>

BODY{font:

arial}

H1{color:

navy}

</STYLE>

</HEAD>

<BODY>

<DIValign=center>

<H1>Authors</H1>

<%

'

'Connectingtoadatabase

'

dimcn

setcn=server.CreateObject("ADODB.Connection")

cn.Open"Provider=sqloledb;"_

&"DataSource=(local);"_

&"InitialCatalog=pubs;"_

&"UserID=sa"

'RetrievingDataviatheRecordsetObject.

dimrs

setrs=server.CreateObject("ADODB.Recordset")

rs.Open"selectau_fname,au_lname,phonefromauthorsorderbyau_lname",cn

%>

  注意:

  下面的代码是由静态HTML和服务器端脚本构成的,用一个循环把数据集(recordset)中的所有数据遍历出来。

<TABLEborder='1'>

<TR>

<TH>FirstName</TH>

<TH>LastName</TH>

<TH>Phone</TH>

</TR>

<%

dountilrs.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>Currentasof<%Response.Writenow%></h5>

</DIV>

</BODY>

</HTML>

  3.点击File,再点击SaveAuthors.asp。

  4.关闭IDE。

观看ASP页面

  1.观看ASP页面:

点击Start,点击Programs,点击ExperienceVS.NETContent,点击Lab3,再点击ASP。

页面显示如图2。

              图2ASP页面显示结果

创建ASP.NET页面

  1.打开VisualStudio.NETIDE:

点击Start,点击Programs,点击ExperienceVS.NETContent,点击Lab3,然后点击ASP.NETVBSource。

一个名为AuthorsVB.aspx的空ASP.NET页面文件会在VisualStudio.NETIDE打开,如图3所示。

             图3ASP.NET页面

  2.点击VisualStudio.NET窗口左下角的HTML按钮查看页面代码

 3.敲入以下代码

  注意:

System.Data和System.Data.SqlClient名字空间(namespaces)被声明在页面顶端,所以这两个名字空间中的所有类可以在下面ASP.NET页面中可用。

<%@ImportNamespace="System.Data"%>

<%@ImportNamespace="System.Data.SqlClient"%>

<HTML>

<HEAD>

<METANAME="GENERATOR"Content="MicrosoftVisualStudio6.0">

<STYLE>

BODY{font:

arial}

H1{color:

navy}

</STYLE>

</HEAD>

<BODY>

<DIValign=center>

<H1>Authors</H1>

  注意:

服务器端脚本与静态HTML完全分离。

你可以使用任何run-time语言,例如MicrosoftVisualBasic?

,Microsoft?

Jscript?

和C#。

<scriptlanguage="VB"runat="server">

SubPage_Load(SrcAsObject,EAsEventArgs)

DimDSAsDataSet

DimMyConnectionAsSQLConnection

DimMyCommandAsSQLDataAdapter

MyConnection=NewSQLConnection("server=localhost;uid=sa;pwd=;database=pubs")

MyCommand=NewSQLDataAdapter("selectau_fnameas'FirstName',au_lnameas'LastName',PhonefromAuthors",MyConnection)

  注意:

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

DS=newDataSet()

MyCommand.Fill(ds,"Authors")

  注意:

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

注意DataSet对象中Table集合,跟Recordset对象不同,DataSet对象可以包含多个表.

grdAuthors.DataSource=ds.Tables("Authors").DefaultView

  注意:

在下面代码中,DataGrid控件用DataBind方法载入数据,然后DataGrid控件以HTML表形式显示数据。

grdAuthors.DataBind()

EndSub

</script>

  注意:

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

DataGrid控件的其它属性也可以通过加入属性/值对来设置,例如:

Width="700"BackColor="#ccccff"。

<asp:

DataGridrunat=serverid=grdAuthors/>

<!

--Footer-->

<h5>Currentasof<%Response.Write(Now.ToString)%></h5>

</DIV>

</BODY>

</HTML>

  4.点击File,再点击SaveAuthorsVB.aspx。

  5.关闭IDE。

观看ASP页面

  1.查看ASP.NET页面:

点击Start,点击Programs,点击ExperienceVS.NETContent,点击Lab3,再点击ASP.NET-VB。

页面显示如图4。

            图4ASP.NET显示页面

  结束

  当你完成了查看ASP.NET页面的工作,关闭所有窗口。

第2章

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1