C#语言基础C#语言基础
C#简介
C#(Csharp)是一种最新的,面向对象的编程语言.它是一种最新的,面向对象的编程语言.
使得
程序员可以快速地编写各种基于Microsoft.
NET平台的应用使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,.NET提供了一系列的工具和服务来最大程度地程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域.开发利用计算与通讯领域.正是由于C#面向对象的卓越
设计,使它成为构建各类组件的正是由于C#面向对象的卓越设计,C#面向对象的卓越设计理想之选——无论是高级的商业对象还是
系统级的应用程序.理想之选——无论是高级的商业对象还是系统级的应用程序.——无论是高级的商业对象还是系统级的应用程序C#语言自C/C++演变而来.但是,它现代,简单,完全面向对象C#语言自C/C++演变而来.但是,它现代,简单,语言自C/C++演变而来和类型安全.和类型安全.它是现代的编程语言.它简化和现代化了C++在类,名字空间,它是现代的编程语言.它简化和现代化了C++在类,名字空间,C++在类方法重载和异常处理等领域.屏弃了C++的复杂性,使它更易用,方法重载和异常处理等领域.屏弃了C++的复杂性,使它更易用,C++的复杂性更少出错.更少出错.
C#语言基础C#语言基础
授课内容:授课内容:1,C#语法C#语法2,语句结构3,面对对象的相关概念
C#语法P21C#语法P21语法
1,数据类型;数据类型;变量和常量;2,变量和常量;运算符;3,运算符;类型转换;4,类型转换;
(1),隐式转换:(1),隐式转换:inta1;longla2=4;a1=la2;//出错出错!!a1=la2;//出错!!(2),显示转换:(2),显示转换:inta1;longla2=4;a1=(int)la2;//ok!!
C#语法C#语法
3,装箱和折箱:针对值类型与引用类型装箱和折箱:装箱:装箱:inti=100托管椎objecto1=i;同步块折箱:折箱:方法表线程椎栈i=o1;100
i=100
注:NET的对象模型包含三块.第一块是对象实体,其中包含同步块索引,:NET的对象模型包含三块.第一块是对象实体,其中包含同步块索引,的对象模型包含三块方法表指针以及类型字段信息;第二块是CLR数据结构中的同步块缓存;CLR数据结构中的同步块缓存方法表指针以及类型字段信息;第二块是CLR数据结构中的同步块缓存;第三块是CLR数据结构中的类型描述符(CLR数据结构中的类型描述符Descriptor)第三块是CLR数据结构中的类型描述符(TypeDescriptor)
语句结构p30语句结构p30
1,条件语句:条件语句:if(){}循环语句:2,循环语句:for(){}while(){}异常处理语句:3,异常处理语句:try{}catch(Exceptionex){}finally{}条件编译:4,条件编译:#ifndef_STDIO_H_#define_STDIO_H_......#endif
条件编译:条件编译:实例
//头文件中A.h//头文件中#ifndefABC#defineABCclassStudy{};#endif//头文件中B.h//头文件中includeC.hinclude//"A.h""A.h"//头文件中//头文件中//D.h中内容#ifndefABC#defineABCclassStudy{};#endif#ifndefABC#defineABCclassStudy{};#endif//类
//类//类
//类
//注:这样避免重定义产生的冲突.
D.h//头文件中//头文件中//包函包函classinclude"B.h"//包函classStudy{}"C.h"//包函classStudy{}//包函classinclude包函
面对对象的相关概念
1,命名空间:命名空间:2,类:对象:3,对象:域和属性:4,域和属性:虚方法,抽象类:5,虚方法,抽象类:接口:6,接口:继承和多态:7,继承和多态:
命名空间:命名空间:NameSpace
P37表P37表3.141.
问题1.问题越大的程序包含的名字越多越多的名字越多的名字-越大的可能性导致命名冲突2.解决的方法2.解决的方法一个命名空间是一个逻辑的命名系统命名空间表示一个范围3.嵌套的命名空间3.嵌套的命名空间一个命名空间可以包含其他的命名空间使用嵌套来反映程序的结构命名空间总是隐含为public命名空间总是隐含为public4.全名全名4.全名->usingSystem.Collections.Generic;命名空间反映的是逻辑结构带点的全名称是冗长和讨人厌的但它比不带点的名字要好5.using标记5.using标记using标记使类在命名空间中可见using标记使类在命名空间中可见只能在一个命名空间的开头使用6.引用别名6.引用别名产生一个别名用于:aa=System.Collections.Generic;using别名产生一个别名用于:usingaa=System.Collections.Generic;类或命名空间只能被用在命名空间的开头