第一章 C# 2005简介
1.1概述
C#是从C和C++中派生出来的,是一种现代的、面向对象的语言,即简单又可象JAVA一样开发web程序,C#是.NET框架应用程序的最好语言。特点如下:
1、 简单。如在C#中,没有C++的指针,而采用无用单元收集程序自动管理程序内存。
2、 面向对象。如不存在全局函数、变量、常量。所有东西都封装在类中,包括静态成员和非静态成员。去掉了多重继承,通过利用多个接口隐式地实现多重继承。
3、 类型安全。编译器负责将对象的成员变量清零,并将所有动态分配的对象和数据都初始化为零,局部变量则由程序员自己负责初始化。再如边界检查和取消了不安全的类型转换。
4、 版本控制。如不同命名空间中定义同名类不会引起名字的冲突,再如CLP环境的支持,CLP提供并执行(side-by-side execution)功能,即允许同时运行同一类型的多个版本。
问题:何为CLP?
1.1.2 C#与C/C++的关系
1、C#不再提供指针类型,而使用ref和out参数代替指针类型,使得程序不能随便访问内存地址控件,使程序更加健壮。
2、引入泛型的概念,使得代码能够重复利用,减少代码的编写量。
1.1.3 C#与Java比较
1、更相似,都不需要头文件,所有代码都被限制在某个范围内,因为没有头文件,所以消除了类定义的循环依赖。 ??
2、Java通过Java虚拟机来实现平台的可移植性,C#则首先被编译成一种中间语言,然后在执行时有公共语言运行时中的及时编译器编译成本地代码交与CPU进行处理。
1.1. 4 C#2.0的新功能
问题:泛型类型只存在arity上的不同。何为arity?
其他
IDE集成开发环境中服务器资源管理器,用户可以直接从服务器资源管理器中将对象拖到项目中,Visual Studio.NET会自动生成代码。
Visual C#的项目模板所创建的命名空间包含了用户项目中的所有类型,这有助于将所创建的类型与可能在.NET框架中的其他地方存在的类型隔绝开来。在应用程序中对任何新类型的声明都应该在某个唯一的命名空间内进行。
所有代码的执行都在某个类的范围内进行。
第二章 C#语言基础
2.1 C#的优点:
1、简单
2、现代。C#拥有内建的支持来将任何组件转换成一个Web Service,运行在任何平台上的任何应用程序都可以通过互联网来使用这个服务。
3、面向对象 C#引入结构体(structs)来使原始数据类型变成对象
4、类型安全 值类型(常量类型)被初始化为零值而引用类型(对象和类)也被编译器自动初始化为零值。
5、互相兼容性 C#提供对COM和基于Windows的应用程序的原始支持。
问题:这里的COM是什么?
6、.NET引入了零部件概念,它们通过其“手册”具有自描述功能,手册确立了零部件的身份、版本、语言和数字签名,零部件不需要在任何地方注册。
问题:手册是什么?
7、与Web开发相结合
2.2变量和常量
2.2.1变量命名
最好以字母开头,尽量不使用下划线,变量名的首字母采用小写字母,变量名包含多个字母时,除第一个单词外,其他单词的首字母采取大写的形式。如:firstName