首页 > 代码库 > 《C#本质论》读书笔记(16)构建自定义集合
《C#本质论》读书笔记(16)构建自定义集合
16.1 更多集合接口
16.1.1 IList<T>与IDictionary<TKey,TValue>
16.1.2 ICollection<T>
16.2 主要集合类
16.2.1 列表集合:List<T>
16.2.2 全序
16.2.3 搜索List<T>
16.2.4 字典集合:Dictonary<TKey,TValue>
16.2.5 已排序集合:SortedDictionary<TKey,TValue>和SortedList<T>
16.2.6 栈集合:Stack<T>
16.2.7 队列集合:Queue<T>
16.2.8 链表:LinkedList<T>
16.3 提供索引器
16.4 返回null或者空集合
16.5 迭代器
16.5.1 迭代器的定义
16.5.2 迭代器语法
16.5.3 从迭代器生成值
16.5.4 迭代器和状态
16.5.5 更多的迭代器例子
16.5.6 将yield return语句放到循环中
16.5.7 取消更多的迭代:yield break
16.5.8 在单个类中创建多个迭代器
16.5.9 yield语句的要求
16.1 更多集合接口
集合类(这里指IEnumerable层次结构)实现的接口层次结构
16.1.1 IList<T>与IDictionary<TKey,TValue>
字典类一般只按照键进行索引,而不按位置索引。
列表“键”总是一个整数,“键集”总是从0开始的非负整数的一个连续集合。
解决数据存储或数据获取问题时,考虑
IList<T>
(侧重位置索引获取值)与 IDictionary<TKey,TValue>
(侧重通过键来获取值)。16.1.2 ICollection<T>
IList<T>与IDictionary<TKey,TValue>都实现ICollection<T>。
包含两个成员:Count和CopyTo()。
16.2 主要集合类
共有5类关键的集合类,所有泛型类都位于 System.Collections.Generic命名空间。
16.2.1 列表集合:List<T>
List<T>具有与数组相似的属性。关键在于会自动的扩展,也可以显示调用TrimToSize()或Capacity来缩小。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | List< string > list = new List< string >(); // Lists automatically expand as elements // are added. list.Add( "Sneezy" ); list.Add( "Happy" ); list.Add( "Dopey" ); list.Add( "Doc" ); list.Add( "Sleepy" ); list.Add( "Bashful" ); list.Add( "Grumpy" ); list.Sort(); Console.WriteLine( "In alphabetical order {0} is the " + "first dwarf while {1} is the last." , list[0], list[6]); list.Remove( "Grumpy" ); |
16.1.2 ICollection<T>
16.2.2 全序
16.1.2 ICollection<T>
16.2.3 搜索List<T>
16.1.2 ICollection<T>
16.2.4 字典集合:Dictonary<TKey,TValue>
16.1.2 ICollection<T>
16.2.5 已排序集合:SortedDictionary<TKey,TValue>和SortedList<T>
16.1.2 ICollection<T>
16.2.6 栈集合:Stack<T>
16.1.2 ICollection<T>
16.2.7 队列集合:Queue<T>
16.1.2 ICollection<T>
16.2.8 链表:LinkedList<T>
16.3 提供索引器
16.3 提供索引器
16.4 返回null或者空集合
16.4 返回null或者空集合
16.5 迭代器
16.5 迭代器
16.1.2 ICollection<T>
16.5.1 迭代器的定义
16.1.2 ICollection<T>
16.5.2 迭代器语法
16.1.2 ICollection<T>
16.5.3 从迭代器生成值
16.1.2 ICollection<T>
16.5.4 迭代器和状态
16.1.2 ICollection<T>
16.5.5 更多的迭代器例子
16.1.2 ICollection<T>
16.5.6 将yield return语句放到循环中
16.1.2 ICollection<T>
16.5.7 取消更多的迭代:yield break
16.1.2 ICollection<T>
16.5.8 在单个类中创建多个迭代器
16.1.2 ICollection<T>
16.5.9 yield语句的要求
来自为知笔记(Wiz)
《C#本质论》读书笔记(16)构建自定义集合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。