



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习C#前必需了解的内容:1、 C#与.NET 的关系,C#的结构和方法论反映了.NET基础方法论,在许多情况下C#的特定动能取决于.NET的功能或.NET类,C#是一种相当新的编程语言,作为 为.NET Framework而专门设计的语言将与其一起被使用,其强大支持平台.NET,使其一开始就充满了活力,让人能看到其良好的发展前景。C#就其本身而言 只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.NET的一部分。NET支持的一些特性,C#并不支持。而C#支持的另一些特 性,.NET却不支持(如运算符的重载)。2、 公共语言运行库即CLR或.NET运行库,先把代码编译为中间语言(IL),再通过CLR把IL编译为平台专用代码,这与JAVA字节代码有很多相似之处。学习内容:分为四个部分,即基础知识介绍、C#Windows应用程序、C#Web应用程序和ADO.NET数据库操作。1、C#基础知识介绍:和其他编程语言一样拥有其语法规则、命名空间、数据支持,但究其根本而言,与C+等面向对象的语言有其惊人的相似之处。常量、变量、变量的类型、类型的转换、表达式运算符、流程控制、方法和函数、泛型。定义和使用一些基础的数据方式与C+及其它面向对象编程语言相似。变量的类型包括文本类型,数值类型和其它类型。(1) 文本类型主要包括char、string。char用来存放单个字符, string用来存放字符串。(2) 数值类型主要包括整数,浮点数,长整数等。(3) 类型转换提供隐式转换和显式转换两种方式。(4) 表达式,表达式是符号和运算的组合,简单的表达式可以是一个变量,常量,列或标量函数,也可以是两个或两个以上的表达式连接起来,组合成复杂的表达式。如:年int a=1;int b=2;int x=a+b;就是几个表达式。(5) 流程控制语句:C#提供5种流程控制语句:if、switch、for、foreach、while。(6) 方法和函数:包括方法和函数的定义,函数的参数,函数的重载.(7) 委托:委托是一种引用方法的类型,一旦为委托分配了方法,委托将与该方法具有完全相同的行为,委托方法的使用可以像其它任何方法一样,具有参数和返回值。(8) 泛型:这是C#2.0新添加的类型,泛型将类型参数的概念引入.NET Framework,其优点是类和方法将对类型的指定推迟到实例化该类和方法的时候,泛型类和泛型方法同时具备可重用性,类型安全和效率,这是非泛型类和 非泛型方法无法具备的,泛型通常用在集合和在集合上运行的方法中。C#中的OOP(面向对象)的概念(1) 构造函数(2) 带参数的构造函数(3) 析构函数 (4) 垃圾回收器:负责释放内存,这是通过销毁不在被引用或不在使用的对象来实现的。 工作原理:如果为定义析构函数的对象分配了内存,运行库应该将对象添加到需要销毁的对象的列表中,在C#,这叫做析构函数。 回收器定期检查有没有未被引用的对象。 如果找到了其名称没有列在销毁器中的对象,就立刻清楚该对象。对象销毁过程中就将该对象从列表中删除(5) C#中的方法重载 ,分为不同参数个数的方法重载和不同参数类型的方法重载,重载也是面向对象的三要素之一。(6) 操作符重载a、 重载操作符一定是public和 Static的。b、 在重载比较运算符时要成对重载,在重载“=”时一定要重载!=; public static bool operator =(prople p1,people p2); 参数列表必须是对象类型!(7) C#中的继承 面向对象的三要素之一,继承就是完全复制,必须是单继承,子类必须要大于父类。(8) C#中的方法重写 要重写基类的现有方法,需要在继承类中声明一个同名的方法,并在方法名称前附加new关键字。高级C#概念(1) 集合:集合里面有个哈希表 Hashtable hashtable liststudent =new hashtable; liststudent.add(zhang san,1000); liststudent.add(lisi,1001); .net提供的集合是一组通用的数据类型,这些数据类型为对数据进行集中存储和操作提供了可能。利用hashtable类来将数值做为键值对的集合进行存 储。(2) 异常:异常包含了4个关键字 try ,catch ,throws,finally. try 和catch可以处理所出现的异常,它为处理错误提供了一种结构化的方式, try块里是程序代码, catch块里是错误处理代码,catch块捕捉由try产生的异常,一个try可以有多个catch。可以使用throw来产生系统异常或自定义的异 常,finally块是无论控制流如何都会执行这些语句,无论是否出现异常都会执行这里面的代码。(3) 反射:如果想要在运行时找到有关对象,对象的类、方法的类,方法和变量等信息,则需要使用反射,typeof() 用来检索类的信息。(4) 程序集:是一种共享和重用代码的方式,它形成了逻辑功能单元。由2部分组成, 一组形成逻辑功能单元的类型和资源,一个包含程序集描述的清单。 可以将一个或多个文件编译成程序集3、 C#Windows应用程序设计: VS2005为应用程序的开发提供了大量的模板以简化自动开发的操作,其中包括:(1) Widows应用程序:普通的C/S窗体应用;(2) 类库:创建一个具备单独命名空间的类库;(3) Windows控件库:提供自定义用户控件的模板,提高界面和代码的复用率;(4) 控制台应用程序:控制台是系统提供的一个字符界面,类似于DOS窗口,输入输出都通过此窗口完成;(5) 设备应用程序:提供对智能移动设备的支持,如手机终端开发应用;(6) Crystal Reports应用程序:提供支持水晶报表的应用配置,可以方便的实现水晶报表的创建和引用. 工作界面:其中包括:解决方案资源管理器,工具箱,菜单, 控件:(1) 公共控件:包括按钮控件,文本显示控件,输入控件,日期控件,列表控件,树控件等; (2) 容器:包括流布局控件,分隔条控件,选项卡控件等;(3) 菜单和工具栏:包括快捷菜单控件,工具栏控件等;(4) 组件:包括帮助文档组件,定时器组件等;(5) 对话框:包括保存文件对话框,打开文件对话框等;(6) 打印;(7) 常规;(8) Crystal Reports. 通过将这些控件拖拉到窗体中并设置相应的属性,再加上一些代码就可以基本上完成一些简单的Windows应用程序。 3、C#Web应用程序: 对于Web应用程序的开发,VS2005提供了多个应用模板,开发人员利用这些模板可以轻松的创建应用 其中包括:(1) ASP.NET网站:一个空的ASP.NET网站,是Web程序的通用标准模板,创建后只包含一个空页面;(2) ASP.NET Web服务:用于创建XML Web服务的网站,创建后包含一个默认的”Service.asmx”,是一个Web服务文件;(3) 个人网站初学者工具包:用于创建个人网站的初学者工具包,创建完成后是一个简单的个人网站,其中包含用户管理和相册管理;(4) 空网站:什么内容都没有的空网站,创建完成后网站的内容和结构都是空的;(5) ASP.NET Crystal Reports Web Site:用于创建水晶报表的网站,创建完成后带有一个水晶报表示例.工作界面和Windows应用程序的几乎一样控件:包括数据,验证,导航,Webparts等和C#Windows应用程序一样,只需要拖拉一些基本的控件和设置相应的属性,在将其与XML结合起来,就可以做出比较满意的网站项目,要强调的一点就是在设计的过程中,其中的Web.config需要初步运行过后系统会自动生成,在里面可以添加相应的代码。但如果想要做一个令自己或是用户都相当满意的项目,必须通过代码来实现相应的功能,其中还牵涉到许多关于ASP.NET及XML的知识,需要相关的手册才能更好更高效的解决相应的问题。 4、ADO.NET数据库访问: ADO.NET对Microsoft SQL Server和XML等数据源,以及通过OLE DB和XML公开的数据源提供一致的访问,可以使用ADO.NET来连接到这些数据源,并检索,处理和更新所包含的数据,ADO.NET包含用于连接到数 据库,执行命令和 检索结果的.NET Framework数据提供程序,可以直接处理检索到的结果,或将其放入ADO.NET DataSet数据集对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊的方式向用户公开.ADO.NET Dataset对象也可以独立于.NET Framework数据提供的程序使用,以管理应用程序本地的数据源和源自XML的数据. 具体数据库操作(SQL Server): (1)数据库连接:数据库连接对象SqlConnection 数据库连接对象成员:l ConnectionString: 是SqlConnection对象的基本属性,获取或设置用于打开SQL Server数据库的字符串;l State: SqlConnection对象的状态;l CreateCommand: 用来创建一个与SqlConnection关联的SqlCommand命令对象;l Close:关闭当前连接;l Open:打开当前的连接. (2)数据库命令执行对象SqlCommand 数据库命令执行对象成员:l CommandText;数据库的执行命令语句;l CommandType:命令语句的类型,包括三种类型:语句,存储过程和表;l Connection:与SqlCommand对象相关联的数据库连接对象;l ExecuteNonQuery:数据库命令执行的方法,表示从数据库中返回值;l ExecuteReader:数据库命令执行的方法,表示从数据库中返回的只是数据集;l ExecuteScalar:数据库命令执行的方法,表示只从数据库中返回一个字段. 其中ExecuteNonQuery是常用方法,用来执行增加,删除,修改等数据库命令.(3) 只进数据集对象SqlDataReader:此对象没有构造函数,不能使用new关键字创建,必须使用SqlCommand的ExecuteReader 方法生成.在使用SqlDataReader时,关联的SqlConnection正忙于为SqlDataReader服务,对 SqlConnection无法执行任何其他操作,只能将起关闭. SqlDataReader对象成员:l FieldCount:获取数据集中记录行的列数,就是数据库中表的字段数;l HasRows;判断数据集是否包含行;l Read:读取一行数据;l Close:关闭数据集;l GetName:获取数据集中列的名称,即字段名称;l GetValue:获取以本机格式表示的指定列的值;l GetValues:获取当前行的集合中的所有列属性.根据类型获取字段的方法,为了程序的需要,很多时候需要对获取的数据进行类型转换, SqlDataReader对象提供了很多专门转换类型的方法.(4) 缓存数据集DataSet DataSet结构中的主要成员:l Data Table对象: Data Table对象不是DataSet对象中的成员,而是DataSet组织结构的一部分, Data Table也是ADO.NET中的核心对象。其中经常使用到成员有:1. Columns:获取当前Data Table内的所有列;2. Rows:获取当前Data Table的所有行;3. AcceptChanges:提交自上次调用AcceptChanges以来对该表进行的所有更改;4. NewRow:根据表的结构,创建一个新行;5. ReadXml:将XML架构和数据读入Data Table;6. WriteXml:将Data Table的当前内容以XML格式写入。l Data Columnl Data Row 创建数据集可以以编程方式实现也可以使用可视向导创建, 总结: 通过近段时间的学习,对C#以及.NET平台有了初步的了解,在看书和实践操作的过程中总结了一些经验.在VS2005用C#中编写各种Windows应用程序,构建ASP.NET网站,以及通过Windows应用程序和ASP.NET网站连接数据 库,其中遇到问题,如果直接连接,运行程序时就会抛出异常,因为在默认情况下Sql server2000不能与应用程序或网站建立连接,必须更改前者的权限及登录设置才可以进行正常连接.异常处理机制,这在其他语言中也有(C语言还没有),有利于顺利的编译和执行程序.NET的安全性:代码访问安全,这是.NET的一个特性,它根据代码的信任级别来管理代码,如果CLR非常信任代码,允许它们运行,就会开始执行代码。总之,在学习C#的过程中,同过MSDN可以处理绝大部分问题,其内容的丰富及其详细的介绍,可以是说是一个很不错的工具。很多函数、类和异常处理都可以在里面得到相应的解释和解决办法。不仅初学者有用,对于一些比较熟练的编程爱好者也有很大的帮助。C#推出后,议论纷纷,有说,C#要取代Java。这种说法为时尚早,需要看C#的发展前景。不过,C#真的是一种非常强大的快速开发语言。1、果不包括指针部份的话,可以说,C#的面向对象的程度要比Java还要高!C#中的基本类型都是基于对象的,例如:int,当你定义一个int 型变量以后,你就可以通过这个变量来访问int类型的成员。实际上,C#为每一个基本类型都内建了相应的类, 如:int->Int32,Int32是系统提供的一个类,基本类型int就映射为类Int32.而Java中你找不到这样的内建关系 的。Java只是提供了操作这些基本类型的工具类。如:Interger对应于int.但是这只是一个简单的操作基本类型的工具,int在Java中并不 是基于对象的。C#参考大多数面向对象的语言,并且解决已有的面向对象语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.3 带电粒子在匀强磁场中的运动 教学评大单元分课时教学设计 -2024-2025学年高二下学期物理人教版(2019)选择性必修第二册
- 食品厂质量管理制度
- 选举投票流程及注意事项教程
- 汽车销售流程管理及客户服务指南
- 高级导游考试题库及答案
- 小学三年级数学单元测试讲评方案
- 新概念英语二册课程详细教案
- 工业污水治理技术方案汇编
- 中高考备考心理辅导方案
- 建筑装饰装修工程项目管理方案
- 心肌梗死的急救护理课件
- 机场运行指挥员4级考试试题及答案
- 外科感染与无菌操作课件
- 【《航空发动机最小点火量的计算过程概述》1000字】
- 八师兵团职工考试题库及答案
- 2024下半年天翔外科手术器械ESG行动报告:供应链中的ESG责任与机遇
- 2025年生物化学与分子生物学综合题答案及解析
- 药品追溯试题及答案
- 潍坊市2026届高三开学调研监测考试物理试题及答案
- 辅警综合知识和能力素质考试试题(含答案)
- 网络文明培训课件
评论
0/150
提交评论