- 博客(15)
- 收藏
- 关注
原创 C#学习笔记-泛型(读自C#从入门到精通 第2版)
ArrayList类缺陷 在ArrayList类中,所有的元素类型都为object类型。.NET中的object类是所有类的基类,因此ArrayList类可以接受任何类型的值作为它的元素。使用ArrayList中的元素时,必须强制进行类型转换,将元素转换为合适的类型。如果元素是值类型的值,会引起CLR进行拆箱和装箱的操作,造成一定的性能开销。而且,还必须小心处理类型转换中可能出现的错误。 泛型 泛型是一种类型占位符,或称为类型参数。我们知道在一个方法中,一个变量的值可以作为参数,但其实这个变量的类型本身也可
2020-05-12 15:03:21 302
原创 C#学习笔记-常用非泛型集合类-Hashtable类(读自C#从入门到精通 第2版)
HashTable类 HashTable称为哈希表,利用键/值来存储数据。每个元素都是一个键/值对,并且是一一对应的,通过“键”就可以得到“值”。 常用属性 属性名称 属性说明 Count 获取包含在Hashtable中键/值对的数目 Keys 获取包含在Hashtable中所有键的集合 Values 获取包含在Hashtable中所有值得集合 常用方法 方法名称 方法说明 Add 将带有指定键和值得元素添加到Hashtable中 Clear 从Hashtab
2020-05-11 16:58:27 277
原创 C#学习笔记-常用非泛型集合类-ArrayList类(读自C#从入门到精通 第2版)
ArrayList是System.Collections命名空间中的非泛型集合类,类似于数组,有人称其为动态数组,其容量可以根据需要自动扩充,元素的索引也可根据元素数量重新分配,可以动态实现元素的添加、删除等操作。 可以将ArrayList类理解为Array的优化版本,该类既有数组的特征,又有集合的特性,例如,既可以通过下标进行元素访问,对元素进行排序、搜索,又可以像处理集合一样添加,在指定索引处插入及删除元素。 常用属性 Capacity: 获取或设置ArrayList可包含的元素数,默认为4 Coun
2020-05-09 14:45:21 563
原创 C#学习笔记-匿名方法与lambda表达式(读自C#从入门到精通 第2版)
匿名方法 要将代码块传递为委托参数,创建匿名方法则是唯一的方法。匿名方法就是为了将代码块传递为委托参数,因此也有人将其称为匿名委托。使用C#的匿名方法可以使委托及事件的代码编写更加精简、高效。一般情况下,事件注册事件处理方法,需要首先定义这个方法,如果该方法仅用于订阅特定的事件,则可使用代码更加简明的匿名方法。 示例 委托与事件中的烧水示例,Heater类不变,去掉Alarm类和Display类,...
2020-04-20 15:45:40 311
原创 C#学习笔记--委托与事件(读自C#从入门到精通 第2版)
委托 委托也叫代理,即把事情交给别人代办。C#中如果将一个方法委托给一个对象,对象即可全权代理该方法的执行。使用委托时首先要定义委托,声明委托所能代理方法的类型。 // 语法 <访问修饰符> delegate 返回类型 委托名(); 委托没有具体的实现体,委托能够代表什么样的方法由它的返回值类型和参数列表决定。 // 示例 public delegate void testDeleg...
2020-04-16 21:43:41 249
原创 C#学习笔记--抽象类与密封类(读自C#从入门到精通 第2版)
继承是面向对象设计理论的基石,抽象理论和方法是继承理论的顶梁柱。 抽象类与抽象方法 用来描述共性的类叫做抽象类,抽象类中不考虑具体实现,只确定必须具有的行为,即确定抽象方法。 如教师的任务是教学,具体教什么,如何教,每个教师都有自己独特的一面,对教学这个动作就可以提取出来作为抽象方法,而不考虑具体实现内容。 包含抽象方法的类就是抽象类,抽象类和抽象方法声明使用abstract关键字。 // 语法 ...
2020-04-15 20:54:00 232
原创 C#学习笔记--接口(读自C#从入门到精通 第2版)
统一的标准-接口 接口是面向对象编程的一个重要技术,在C#中负责实现多重继承。一个接口定义一个协定,实现接口的类或结构必须遵守其协定。 接口的定义 接口用来描述一种程序的规定,可定义属于任何类或结构的一组相关行为。 接口可由方法、属性、事件、索引器或这4种成员类型的任何组合构成。 接口不能包含常数、字段、运算符、实例构造函数、析构函数或类型,也不能包含任何种类的静态成员。 接口成员一定是公共的。...
2020-04-14 22:21:34 534
原创 C#学习笔记-多态(读自C#从入门到精通 第2版)
多态 多态的概念 同一操作作用于不同的类的对象,不同的类的对象进行不同的执行,最后产生不同的执行结果。 多态的实现 C#中支持基于接口的多态和基于继承的多态,基于继承的多态设计在基类中定义方法,并在派生类中重写方法。 多态和重写是紧密联系的,重写是实现多态的重要手段。重写基类方法就是修改它的实现,或者说在派生类中对继承的基类方法重新编写。 在基类中用virtual关键字声明的方法(叫做虚拟方法)在...
2020-04-11 10:48:02 178
原创 C#学习笔记-继承相关笔记(读自C#从入门到精通 第2版)
Person.cs(Person类) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace InheritDemo { public class Person { pr...
2020-04-10 20:16:33 178
原创 C#学习笔记-结构与类相关笔记(读自C#从入门到精通 第2版)
结构与类 结构和类相似,通常用来封装小型的相关变量组。 结构是一种值类型,通常创建结构要比创建类的速度快。如果需要一些紧凑循环,需要在其中创建大量的新数据结构,则应考虑使用结构而不是类。 在C#中,可以将结构看成轻量级的类。定义结构和定义类相似,采用struct进行定义,每个struct类型数据可以是常量、变量、构造函数、方法和属性等成员。 语法: <访问修饰符> struct结构...
2020-04-09 16:41:53 173
原创 C#学习笔记-类与对象相关笔记2(读自C#从入门到精通 第2版)
构造函数与析构函数 构造函数 构造函数是类的特殊方法成员,其名称和类名相同,主要用来完成对象的初始化。 C#通过new创建对象的过程实际上就是调用类的构造函数的过程,创建对象时调用构造函数对对象进行初始化。 每个类都有构造函数,如果没有定义,系统也会提供一个默认的构造函数,默认的构造函数一般不进行什么操作。 在访问一个类的时候,系统最先执行构造函数中的语句。 声明的构造函数是非静态的实例构造函数...
2020-04-09 15:10:17 182
原创 C#学习笔记-类与对象相关笔记(读自C#从入门到精通 第2版)
C#类的修饰符 Public:公有的, 是类型和类型成员的访问修饰符。对其访问不受任何限制。 Private:私有的,私有成员只有在声明它们的类和结构体中才是可访问的。 Protected:保护成员,该类内部和继承类中可以访问。 internal:内部访问,同一个程序集中的所有类都可以访问,一般都是限于本项目内。 Protected internal:受内部保护的,只限于本项目或是子类访问,其他...
2020-04-08 11:09:07 201
原创 C#学习笔记-数组操作相关笔记(读自C#从入门到精通 第2版)
一维数组 语法:数据类型[] 数组名 / 数组名 = new 数据类型[] int[] a / a = new int[5]{1, 2, 3, 4, 5} / a = new int[5] string[] week = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" }; ...
2020-04-07 16:47:56 354 2
原创 C#学习笔记-字符串操作相关笔记(读自C#从入门到精通 第2版)
字符串判等 Equals() /** * Equals() 判断两个字符串是否相等,若相等则返回True,否则返回False * 语法:字符串变量1.Equals(字符串2) * 调用string类的静态方法: string.Equals(字符串1, 字符串2) */ ...
2020-04-06 11:16:46 202
原创 C#学习笔记-数据类型相关代码笔记(读自C#从入门到精通 第2版)
数据类型相关操作 var intNum = 250; int i = intnum; // var 型变量intnum隐式转换成整型 var name = "john"; string strname = name; // var型变量name隐式转换成string型 Console.WriteLine("转换后的内容是{0},{1}", i, name); // 转换后的内容是250, john...
2020-04-06 11:04:20 203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人