上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: 9.1 可选参数和命名参数 设计方法的参数时,可为部分或全部参数分配默认值。 然后调用这些方法的代码可以选择不提供部分实参,使用其默认值。 此外调用方法时可通过指定参数名称来传递实参。 如果调用时省略了一个实参,C#编译器会自动嵌入参数的默认值。 规则和原则 如果在方法中为部分参数指定了默认值 1. 阅读全文
posted @ 2018-10-19 20:50 田错 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 8.7 分部方法 重写基类的虚方法 使用继承基类让子类重写基类虚方法的做法存在很多问题,如下所示代码。 1.类型必须是非密封的,也不能用于值类型,因为值类型是隐式密封的。此外不能用于静态方法,因为静态方法不能重写。 2.效率问题。定义一个类只为了重写一个方法,会浪费少量系统资源。即使不想重写某个方法 阅读全文
posted @ 2018-10-19 17:37 田错 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 什么是栈 1.后进者先出,先进者后出,这就是典型的“栈”结构。 2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。 为什么需要栈 1.栈是一种操作受限的数据结构,其操作特性用数组和链表均可实现。 2.但任何数据结构都是对特定应用场景的抽象,数组和链表虽然使用起来更加灵活, 阅读全文
posted @ 2018-10-16 17:11 田错 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 什么是链表 和数组一样,链表也是一种线性表。 从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。 链表中的每一个内存块被称为节点Node。节点除了存储数据外,还需记录链上下一个节点的地址,即后继指针next。 链表的特点 插入、删除数据效率高 阅读全文
posted @ 2018-10-15 20:08 田错 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 什么是数组 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表 线性表就是数据排成像一条线一样的结构。 常见的线性表结构:数组,链表、队列、栈等。 非线性表有:二叉树、图、堆等。 连续的内存空间和相同类型的数据 优点:两限制使得具有随机访问的特性 阅读全文
posted @ 2018-10-15 12:38 田错 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 什么是复杂度分析 数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。 因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。 分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。 复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。 为什么要进行复 阅读全文
posted @ 2018-10-15 11:49 田错 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 8.6 扩展方法 14.3.2节StringBuilder成员会提到StringBuilder类提供的字符串处理方法比String类少。 这是一件很奇怪的事,StringBuilder类是可变的,所以他应该是进行字符串处理的首选方式。 现在假定你想自己定义一些缺失的方法以方便操作StringBuil 阅读全文
posted @ 2018-10-13 14:20 田错 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 8.5 转换操作符方法 有时需要将对象从一种类型转换为另一种类型。当源类型和目标类型都是编译器识别的基元类型时,编译器自己就知道如何生成转换对象所需的代码。 如果二者中有不是基元类型的,编译器会生成代码,要求CLR执行转换(强制转型)。这种情况下,CLR只是检查源对象的类型和目标类型是不是相同。 但 阅读全文
posted @ 2018-10-13 13:38 田错 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 8.4 操作符重载方法 有的语言允许类型定义操作符应该如何操作类型到实例。例如,许多类型比如System.String都重载了相等==和不等!=操作符。 CLR对操作符重载一无所知,他甚至不知道什么是操作符。是编程语言定义了每个操作符的含义,以及这些特殊符号出现时应该生成什么样的代码。 例如在C#中 阅读全文
posted @ 2018-10-12 21:24 田错 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 类型构造器 除了实例构造器,CLR还支持类型构造器,也称为静态构造器、类构造器或者类型初始化构造器。类型构造器可应用于引用类型和值类型。 实例构造器的作用是设置类型的实例的初始状态。对应地,类型构造器的作用是设置类型的初始状态。 类型默认没有类型构造器 如果定义也只能定义一个,此外类型构造器永远没有 阅读全文
posted @ 2018-10-11 13:32 田错 阅读(214) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页