思胜.net高级培训基础视频3学员笔记_第1页
思胜.net高级培训基础视频3学员笔记_第2页
思胜.net高级培训基础视频3学员笔记_第3页
思胜.net高级培训基础视频3学员笔记_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大家在学习过程中有任何技术问题可以提问到思胜技术问题版块,思胜帮大家免费解决,大家一起学习,共同进步!地址: HYPERLINK http:/w/ http:/w/forum/forum.1、 适合所有的类都适合的时候,类成员。由于语法糖的存在所以程序会自动地需找索引,所以要看的对象的成员。压缩程序 单个字符表示变量2、 静态成员的使用的场景:类成员、一个类也是一组数据,定义了一个类也是一个数据,不是静态的话仅仅是类的定义,仅仅是类的一组数据,当实例化的时候才成为一个内存中的类对象。就是类数据与类对象存在,那么静态的成员就是存在于类本身的对象里,所以就是只有一个对的成员存在否 要是存在则对应的

2、是所在象。也就是说关于变量的话就是一个公用,一种是静态方法 new 不可用,覆盖,当方法是静态的话,但是方法却是分为两种类型,一种是 new 实例方型特点 this),3、 什么时候用。同一类全部都使用 ,就是直接传值就可以直接使用的方法,利用获得目录的方法。Math 算数类都是静态的 就是可以直接利用 sin 的方法都是静态,先使用后取值。1 类级的数据,2 为了减少实例化的操作 一般叫做 SQL 助手类 方便使用。其实设计模式就是把,类的定义 使用的频率都是要设置好,其中之一就是 helper 助手类4、 其实我觉得静态的方法我觉得有点像那个 单向控制器5、 上课:值类型与value 一种

3、叫做、堆栈的再次研究类型值与所有的东西都有一个基本类型 System.object 但是不是全部派生的都是类型,一种叫值类型类型。 System.valueTypeValue:char bool 基本上都是小型的内存单元类型:class CTS 公共语言类型系统6、 一周学习的内容常量 变量 结构数组链表ARRYLIST LIST 集合 泛型 设计模式 委托事件 熟读问题 matrix我就是中的母机7、 数据 同类型 长度不可变 固定后来就出现链表(数据对象+连接对象 ) 对高级的数据结构就很难理解了 新的数据技巧(数基本上是称作一个节点 node 现在就是要定义节点的类型 在链表中需要额外的

4、空间来保存呢连续据结构) 经常使用在系统编程 每一个保节点之间的8、 单链表那么基本的原理就是节点的相互的指向所以循环变量的是很必要的链表远比数组要麻烦就是解决未知大小化整为零的特点 其实第二个namespace LinkListS/ 链表中的每一个部分不是值,而是下面的一个真正的le的实例称为一个节点 Node/ 定义节点的类型定义public cla/ 数据odeprivate string name; public string Nameset = value; get return ; / 在链表中,需要耗费额外的空间来保存节点之间的/ 先看最简单的单链表private Node ne

5、xt; public Node Next/ 保存下一个节点的,这个就是很厉害的set this.next = value; get return this.next; / 方法class Programsic void Main(string args)/ 数组方式string names = new string10;/ 使用单链表来保存/ 第一个名称Node node_single = new Node() Name=,/ 第二个名称Next= null;Node node_gdg = new Node() Name = , Next = null ;Node header = node_

6、single; header.Next = node_gdg;node_gdg.Next = null;/ header 中保存链表中第一个节点的/ 第一个节点中的 Next ,保存第二个节点的/ 现在,第二个节点之后,就结束。/ 通过链表来取得保存在其中的名字/ 也是循环,但是,对于链表无从知道有多少个节点/ 判断结束,需要通过 Next/ 对于链表来说,必须保存链表头节点的/ 引入一个表示当前节点的变量Node current = header; while (current != null)/ 当前有一个节点/ 开始的时候, current 指向 header 代表的节点,下面有递推的(

7、而递归就是自身调用自身)Console.Wriine(current.Name);/ 下一次,准备下一个节点/ 需要将当前的节点指向下一个节点current = current.Next;/ *Console.Wriine(已经全部完成。);那么如何封装这个类呢? 保存很多数据可以任意添加 可以查看全部 特例法也是很好的。 适当的时候要遍历列表如何封装,基本的数据的对象,一般的方法,补全的对象,对象的控制(程序算法的再次优化),bug 修复如何解决特例就是说在实例化的时候就预先搞了一个对象站位点(构造函数),但是后面还是要修改后面的数据的顺序也急速和 ihead 的实际的意义就是实际存在,全部

8、直接使用头的 next 的方法那么数的方法就是在摸个位置的一个变量对应索引的输出(对于链式列表也只是一个一个地数,要把原来吃的特例全部改变,必须吧情况全部分析,老实说我很喜欢归类逻辑),当超过ition 的范围的时候也是可以调用一个错误类型的。namespace LinkListSle/ 实现一个单链表,Node current方法里面的中间的变量 public class MyLinkedList/ 数据和成员/ 数据/ 对于单链表来说,必须保存链表的头private Node header;/ 构造函数public MyLinkedList()this.header = null;/tos

9、tring的方法 public void ShowList()/ 遍历列表/ 当前节点Node current = this.header; while (current != null)Console.Wriine(current.Name);current = current.Next;/ 增加一个保存的数据public void Add(string name )Node node = new Node(); node.Name = name; node.Next = null;if (header != null)/ 保存数据Node current = this.header; wh

10、ile (current.Next != null)current = current.Next;current.Next = node;/ 当有节点的时候,不断向下找elsethis.header = node; return;/ 在链表中,每一组数据,表示为一个节点/Node node = new Node();/node.Name = name;/node.Next = null;/ 保存数据/ 当第一个节点被加入的时候,需要特殊处理/ 当 header 还是空的时候,就是正在加入第一个节点/if (this.header = null)/ 特殊处理this.header = node;

11、 return;/ 只有一个节点,才能使用/ this.header = node;/ 其实是将新节点接到链表最后一个节点之后/ 找到最后一个节点/ 第一个有得情况,定义一个表示当前节点的临时变量/Node current = this.header;/while (current.Next != null)/current = current.Next;/ 当有节点的时候,不断向下找/ 当循环结束的时候,一定找到了最后的节点测试方法 边缘波动域,还是不够认真专注数据的结构数组,链表的方式就有点不一样了。但是想他们的使用方式一样,这个就是叫做逻辑结构。只要对他们的数据结构通过逻辑结构的修改,那

12、么就可以是相似的。那么来看看遍历这个问题。 从头到后取出来读一遍,怎么样抽取出共同点得问题,现在老师就是在传授一个 趋向的抽象思维。迭代器(遍历)Ienumerator 对非泛型结合的简单迭代 就是一个爱一个地遍历一遍 就是不管底层是数组还是链表 都希望在逻辑结构上进行。Reseet 复位 movenext 下一个(返回的是 bool) current 的属性 其实调用了这个接口的话,那么就可以有了遍历的功能仅仅是保留Add方法,但是要实现Reseet复位 movenext下一个(返public class MyLinkedList:System.Collections.Ienumerator

13、 使用次接回的是bool) current的属性的方法希望越高级越抽象 最后直接调用是最好的。用Throw new Expection();的,不管底层的东西来编程。自己定义的接口的方法,来体会接口的使用。调用了静态的方法object.ReferenceEquals(this.header,this.current);看是否move过,因为要是move的话,head会有next自定义异常把相关的功能都藏在类里面,这个就是在内聚嵌套类的超级利用就是不允许外部知道,其实那个类就是Node,令你闻所未闻,只要支持这个接口,再抽象,就知道迭代器(独立的对象)把遍历的功能与集合的功能拆开迭代器就是允许/

14、 C# 中语法糖用 foreach/ foreach 关键字中使用的集合,/ 必须实现接口 System.Collections.IEnumerable foreach (string name in list)Console.Wriine(name);/ 为了支持遍历,返回一个支持遍历的接口的对象/ 迭代器public System.Collections.IEnumeratetEnumerator()/ 创建一个用来迭代这个集合的迭代器对象MyLinkedListEnumerator enumerator= new MyLinkedListEnumerator(this.header);return enumerator;List 对象中public class MyLinkedList4: System.Collections.IEnumerable就是真正的对象是 站头 head(越是高级就越复杂,但是日后使用就越简单)为了支持遍历,返回一个支持遍历的接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论