C#学习基础(精)_第1页
C#学习基础(精)_第2页
C#学习基础(精)_第3页
C#学习基础(精)_第4页
C#学习基础(精)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习c#前必需了解的内容:1、c#与.net的关系,c#的结构和方法论反映了.net基础方法论,在许多 情况下c#的特定动能取决于.net的功能或.net类,c#是一种和当新的编程语言,作为 为.net framework阳专门设计的语言将与其一起被使用,其强大支持平台.net,使其一开 始就充满了活力,让人能看到其良好的发展前景。c#就其木身而言只是一种语言,尽管它 是用于生成而向.net环境的代码,但它本身不是.net的一部分。net支持的一些特性,c# 并不支持。而c#支持的另一些特性,.net却不支持(如运算符的重载)。2、公共语言运行库即clr或.net运行库,先把代码编译为中间语言

2、(tl), 再通过clr把1l编译为平台专用代码,这与java字节代码有很多相似之处。学习内容:分为四个部分,即基础知识介绍、c#windows应用程序、c#web应用程序和ado. net数据库 操作。1、c#基础知识介绍:和其他编程语言一样拥有其语法规则、命名空间、数据支持,但究其根本而言,与c+等面 向对象的语言有其惊人的相似之处。常虽、变量、变量的类型、类型的转换、表达式运算符、流程控制、方法和函数、泛型。定 义和使用一些基础的数据方式与c+及其它面向对象编程语言相似。变最的类型包括文本类 型,数值类型和其它类空。(1)文本类型主要包括char> stringo char用来存放

3、单个字符,string用 来存放字符串。(2)数值类型主要包括整数,浮点数,氏整数等。(3)类型转换提供隐式转换和显式转换两种方式。(4)表达式,表达式是符号和运算的组合,简单的表达式可以是一个变量,常 量,列或标量函数,也可以是两个或两个以上的表达式连接起来,组合成复朵的表达式。如: 年int a二1; int b二2; int x二a+b;就是几个表达式。(5)流程控制语句:c#提供5种流程控制语句:if、switch> for> foreach> whileo(6)方法和函数:包括方法和函数的定义,函数的参数,函数的重载.(7)委托:委托是一种引用方法的类型,一口为委托

4、分配了方法,委托将与该 方法具有完全相同的行为,委托方法的使用可以像其它任何方法一样,具有参数和返回值。(8)泛型:这是0#2.0新添加的类型,泛型将类型参数的概念引入.net framework,其优点是类和方法将对类型的指定推迟到实例化该类和方法的时候,泛型类和泛 型方法同时具备可重用性,类型安全和效率,这是非泛型类和 非泛型方法无法具备的,泛型 通常用在集合和在集合上运行的方法中。c#中的oop (面向对象)的概念(1)构造函数(2)带参数的构造函数(3)析构函数(4)垃圾回收器:负责释放内存,这是通过销毁不在被引川或不在使用的对象來实 现的。工作原理:如果为定义析构函数的对象分配了内存

5、,运行库应该将对象添加到需要 销毁的对象的列表中,在c#,这叫做析构函数。回收器定期检查冇没冇未被引用的对象。 如果找到了其名称没有列在销毁器中的对彖,就立刻清楚该对象。对象销毁过程中就将该对 象从列表中删除(5)c#中的方法重载,分为不同参数个数的方法重载和不同参数类型的方法重载, 重载也是曲向对象的三要素之一。(6)操作符重载a>重载操作符一定是public和static的。b、在重载比较运算符时要成对重载,在重载“=”时一定要重载!=; public static bool operator =(prople pl, people p2);参数列表必须是对象类型! !!(7)c#中

6、的继承面向对象的三要素乙一,继承就是完全复制,必须是单继承,子 类必须要大于父类。(8)c#中的方法重写 要重写基类的现有方法,需要在继承类屮声明一个同名的方 法,并在方法名称前附加new关键字。高级c# 概念(1)集合:集合里面有个哈希表 hashtable hashtable liststudent =newhashtable;liststudent. add("zhangsan", "1000");liststudent, add("lisi", "1001") ; . net提供的集合是一组通用的数据类型,

7、这些数据类 型为对数据进行集中存储和操作捉供了可能。利川hashtable类來将数值做为键值对的集合 进行存储。(2)异常:异常包含了4个关键字 try , catch , throws, final ly. try 和 catch 可以处理所出现的界常,它为处理错误提供了一种结构化的方式,try块里是程序代码, catch块里是错误处理代码,catch块捕捉山try产牛的界常,一个try可以有多个catch。 可以使用throw來产牛系统异常或自定义的异常,finally块是无论控制流如何都会执行 这些语句,无论是否出现异常都会执行这里血的代码。(3)反射:如果想要在运行时找到冇关对象,对象

8、的类、方法的类,方法和变量等 信息,则需要使用反射,typeof()用来检索类的信息。(4)程序集:是一种共享和重用代码的方式,它形成了逻辑功能单元。由2部分组成, 一组形成逻辑功能单元的类型和资源,一个包含程序集描述的清单。町以将一个或多个文 件编译成程序集3、cwindows应用程序设计:vs2005为应用程序的开发提供了大量的模板以简化口动开发的操作,其屮包括:(1)wi dows应用程序:普通的c/s窗体应用;(2)类库:创建一个具备单独命名空间的类库;(3)windows控件库:提供自定义用户控件的模板,提高界面和代码的复用率;(4)控制台应用程序:控制台是系统提供的一个字符界面,类

9、似于dos窗口,输入输 出都通过此窗口完成;(5)设备应用程序:提供对智能移动设备的支持,如手机终端开发应用;(6)crystal reports应丿ij程序:提供支持水晶报表的应用配置,可以方便的实现水 晶报表的创建和引用.工作界面:其中包括:解决方案资源管理器,工具箱,菜单,控件:(1)公共控件:包括按钮控件,文本显示控件,输入控件,口期控件,列表控件,树控件等;(2)容器:包括流布局控件,分隔条控件,选项卡控件等;(3)菜单和工具栏:包括快捷菜单控件,工具栏控件等;(4)组件:包括帮助文档组件,定时器组件等;(5)对话框:包括保存文件对话框,打开文件对话框等;(6)打印;(7)常规;(8

10、)crystal reports通过将这些控件拖拉到窗体中并设置相应的属性,再加.上一些代码就可以基本-/: 完成一些简单的windows应用程序。3、c#web应用程序:对于web应用程序的开发,vs2005提供了多个应用模板,开发人员利用这些模板 可以轻松的创建应用其中包括:(1)asp. net网站:一个空的asp. net网站,是web程序的通用标准模板,创建后只 包含一个空页面;(2)asp. net web服务:用于创建xml web服务的网站,创建后包含一个默认 的” service, asmx”,是一个web服务文件;(3)个人网站初学者工具包:用于创建个人网站的初学者工具包,

11、创建完成后是一个 简单的个人网站-,其中包含用户管理和相册管理;(4)空网站:什么内容都没有的空网站,创建完成后网站的内容和结构都是空的;(5)asp. net crystal reports web site:用于创建水晶报表的网站,创建完成后带 冇一个水晶报表示例.工作界面和windows应用程序的几乎一样控件:包括数据,验证,导航,webparts等 和 windows应用程序-样,只需要拖拉一些基本的控件和设置相应的属性,在将具与xml 结合起来,就可以做出比较满意的网站项目,要强调的一点就是在设计的过程屮,其中的 wob. config需要初步运行过后系统会自动生成,在里ifli可以

12、添加相应的代码。但如果想要做 一个令口己或是用户都相当满意的项,必须通过代码来实现相应的功能,其中还牵涉到许 多关于asp. net及xml的知识,需要相关的手册才能更好更高效的解决相应的问题。4、ado. net数据库访问:ado. net 对 microsoft sql server 和 xml 等数据源,以及通过 ole db 和 xml 公开的数据源提供-致的访问,可以使用ado. net來连接到这些数据源,并检索,处理和更新 所包含的数据,ado. net包含用丁连接到数 据库,执行命令和 检索结果的.net framework 数据提供程序,可以直接处理检索到的结果,或将其放入ad

13、o. net dataset数据集对彖,以便 与來自多个源的数据或在层之间进行远程处理的数据纽合在一起,以特殊的方式向用户公 开.ado. net dataset对象也可以独立于.net framework数据提供的程序使用,以管理应用程 序木地的数据源和源自xml的数据.具体数据库操作(sql server):(1)数据库连接:数据库连接対象sqlconnection数据库连接对象成员:1connectionstring:是sqlconnection对-象的基本属性,获収或设置用于打开sql server数据库的字符串;1state: sqlconnection 对象的状态;1cr eat

14、ecommand:用來创建一个与 sqlconnection 关联的 sql command 命令对象;1close:关闭当前连接;1open:打开当前的连接.(2)数据库命令执行对象sqlcommand数据库命令执行对彖成员:1commandtext;数据库的执行命令语句;1commandtype:命令语句的类型,包扌舌三种类型:语句,存储过程和表;1connection:-/ sqlcommand对象相关联的数据库连接对象;1executenonquery:数据库命令执行的方法,表示从数据库中返回值;1executereader:数据库命令执行的方法,表示从数据库屮返回的只是数据集;1ex

15、ecutescalar:数据库命令执行的方法,表示只从数据库中返回一个字段.其中executenonquery是常用方法,用来执行增加,删除,修改等数据库命令.(3) 只进数据集对象sqldatareadcr:此对象没有构造函数,不能使用now关键字创建,必须 使用sqlcommand的executereader 方法生成.在使用sqldatareader吋,关联的 sqlconnectio n正忙于为sqldatareader服务,对sql connect ion无法执行任何其他操作, 只能将起关闭.sqldatareader 对象成员:1fieldcount:获取数据集中记录行的列数,就是

16、数据库中表的字段数;1hasrows;判断数据集是否包含行;1read:读取一行数据;1close:关闭数据集;1getname:获取数据集屮列的名称,即字段名称;1getva 1 ue:获取以本机格式表示的指定列的值;1getvalues:获取当前行的集合中的所侑列属性.根据类型获取字段的方法,为了程序的需要,很多时候需要对获取的数据进行类型转换, sqlda tareader对象提供了很多专门转换类型的方法.(4) 缓存数据集datasetdataset结构中的主要成员:1data table对象:data table对象不是dataset对象屮的成员,而是dataset组织结构的一部分,

17、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格式写入。1data column1data row创建数据集可以以编程方式实现也可以使用可视向导创建,总结:通过近段时间的

18、学习,对c#以及.net平台有了初步的了解,在看书和实践操作的过程中总结 了一些经验.在vs2005用c#中编写各种windows应用程序,构建asp. 7et网站,以及通过windows应川程 序和asp. net网站连接数据 库,具屮遇到问题,如果直接连接,运行程序时就会抛出异常,因 为在默认情况下sql servor2000不能与应用程序或网站建立连接,必须更改前者的权限及登 录设置才可以进行正常连接.异常处理机制,这在其他语言中也有(c语言还没有),有利于顺利的编译和执行程序.net的安全性:代码访问安全,这是.net的一个特性,它根据代码的信任级别來管理代码,如 果clr非常信任代码

19、,允许它们运行,就会开始执行代码。总之,在学习c#的过程中,同过msdn可以处理绝人部分问题,其内容的丰富及其详细的介 绍,可以是说是一个很不错的工貝。很多函数、类和界常处理都可以在里血得到相应的解释 和解决办法。不仅初学者有用,对于一些比鮫熟练的编程爱好者也有很大的帮助。c#推出后,议论纷纷,有说,c#要取代java。这种说法为时尚早,需要看c#的发展前景。 不过,c#真的是一种非常强人的快速开发语言。1、果不包括指针部份的话,可以说,c#的面向对彖的程度耍比java还耍高! c#中的基本类 型都是慕于对彖的,例如:int,当你定义一个int型变量以后,你就町以通过这个变量來 访问int类型的成员。实际上,c#为每一个基本类型都内建了相应的类,如: int->int32, int32是系统提供的一个类,基木类型int就映射为类int32. rfl java屮你 找不到这样的内建关系的。java只是提供了操作这些基本类型的工具类。如:i merger 对应pint.但是这只是一个简单的操作基本类型的工具,int在java中并不是基于对象的。 c#参考大多数面向对彖的语言,并r解决已冇的面向对彖语言的一些睥病,可以说,c#大大 提高了面向对象语言的技术和实用性。⁢/p><p&a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论