摘要:
数组的大小是固定的,如果元素个数是动态的,就应使用集合类,集合可以根据集合类实现的接口组合为列表、集合和字典,集合实现的常用接口有如下 (1)IEnumerable<T>:如果将foreach语句用于集合,就需要IEnumerable接口,这个接口定义了方法GetEnumerator(),它返回了一 阅读全文
摘要:
在C#中string关键字的映射实际上指向.NET基类System.String。System.String是一个功能非常强大且用途非常广泛的基类,所以我们在用C#string的时候实际就是在用.NET Framework String。String上是一个不可变的数据类型,一旦对字符串对象进行了初 阅读全文
摘要:
事件是基于委托,为委托提供了一种发布/订阅机制,在dotNet到处都能看到事件,一个简单的例子就是在windows应用程序中,Button类提供了Click事件,这类事件就是委托,触发Click事件时调用的处理程序方法需要定义,其参数也是由委托类型定义的,事件模型可以用下图简要说明。 在这个模型中, 阅读全文
摘要:
运算符重载的关键是在对象上不能总是只调用方法或属性,有时还需要做一些其他工作,例如,对数值进行相加、相乘或逻辑操作。假定已经定义了一个表示数学矩阵的类,定义矩阵的相加和相乘就必须用到运算符重载,在许多情况下,重载运算符允许生成可读性更高、更直观的代码。 定义一个结构Vector包含成员字段、构造函数 阅读全文
摘要:
在foreach语句中使用枚举,可以迭代数组或集合中的元素,且无须知道集合中的元素的个数。如图显示了调用foreach方法的客户端和集合之间的关系。数组或集合实现带GetEnumerator()方法的IEnumerable接口。GetEnumerator()方法返回一个实现lEnumerable接口 阅读全文
摘要:
.NET很容易把值类型转换为引用类型,所以可以在需要对象的任意地方使用值类型。例如int可以赋予一个对象,从值类型转换为引用类型称为装箱。如果方法需要把一个对象作为参数,同时传递一个值类型,装箱操作就会自动进行。另一方面,装箱的值类型可以使用拆箱操作转换为值类型。 定义一个一般的、非泛型的简化链表类 阅读全文
摘要:
继承能够定义可重用、扩展或修改父类行为的子类。但基类的静态构造函数、实例构造函数和析构函数不能被派生类继承。 在下面实例中,定义一个基类Publication用于表示任何类型的出版物以及派生至Publication的其他类型Book类,由此也可以扩展为定义其他类型如:Magazine、Journal 阅读全文
摘要:
一、类 类中的数据和函数称为类的成员 数据成员是包含类的数据 字段、常量和事件的成员。数据成员可以是静态数据、类成员总是实例成员,除非用static进行显示的声明。 事件是类的成员,在发生某些行为(如改变类的字段或属性,或者进行了某种形式的用户交互操作)时,他可以让对象通知调用方,调用方可以包含所谓 阅读全文
摘要:
一、变量 C#共有其中变量类型有:静态变量、实类变量、数组元素、数值参数、引用参数、输出参数和局部变量 先定义一个简单的类来说明,如下: 对于静态变量在被创建加载之后失效,当被卸载后失效,静态变量的初始值也为此类型的变量的默认值 对于实例变量当创建某类的一个实例的时候,隶属于该类的实例变量也被生成, 阅读全文
摘要:
一、公共语言运行库 .NET Framework 的核心是其运行库执行环境,称为Common Language Run,通常在CLR控制下运行的代码称为托管代码(由GC进行资源管理和回收),还有一部分是非托管代码包括的文件操作的句柄、对数据库资源进行访问的链接和网络链接,对非托管资源的管理有两种方法 阅读全文