



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上Ch5 泛型与LINQ 习题解答1假设Node类的每一个节点包括有两个字段:m_data(引用节点的数据)和m_next(引用链接列表中的下一项),这两个字段都是由构造函数方法设置的。该类有两个功能,第1个功能是通过名为Data和Next的只读属性访问m_data和m_next字段,第2个功能是对System.Object的ToString虚拟方法进行重写。试分别用类和泛型两种方法编写程序实现上述功能。 【解答】using System;class Node Object m_data; Node m_next; public Node(Object data, No
2、de next) m_data = data; m_next = next; /访问结点数据 public Object Data get return m_data; /访问下一个结点 public Node Next get return m_next; / 获取结点数据描述 public override String ToString() return m_data.ToString(); /链表结点类的泛型定义class Node<T> T m_data; Node<T> m_next; public Node(T data, Node<T> ne
3、xt) m_data = data; m_next = next; / 访问结点数据 public T Data get return m_data; set m_data = value; / 访问下一个结点 public Node<T> Next get return m_next; set m_next = value; / 获取结点数据描述 public override String ToString() return m_data.ToString(); / 使用结点类型或泛型结点类型class LinkedList static void Main(string ar
4、gs) / 创建整数链表 /Node head = new Node(5, null); /head = new Node(10, head); /head = new Node(15, head); /遍历链表求整数和 /Int32 sum = 0; /for (Node current = head; current != null; / current = current.Next) / / sum += (Int32)current.Data; / / 输出结果 /Console.WriteLine("Sum of nodes = 0", sum); / 用泛型创建
5、整数链表 Node<Int32> head = new Node<Int32>(5, null); head = new Node<Int32>(10, head); head = new Node<Int32>(15, head); / 遍历求和 Int32 sum = 0; for (Node<Int32> current = head; current != null; current = current.Next) sum += current.Data; / 输出 Console.WriteLine("Sum of
6、 nodes = 0", sum.ToString(); 2. 编写程序创建一个<int,string>的排序列表,向其添加5个元素后,按逆序方式显示列表中每一项的value值(string类型的值).【解答】using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication class Program static void Main(string args) SortedList<int, string>
7、 list = new SortedList<int, string>(); list.Add(10, "str10"); list.Add(2, "str2"); list.Add(13, "str13"); list.Add(24, "str24"); list.Add(15, "str15"); for (int i = list.Keys.Count - 1; i >= 0; i-) Console.WriteLine(listlist.Keysi); Console.
8、ReadLine(); 3. 使用LINQ查询有哪些优势?什么是LINQ的延迟执行和立即执行?【解答】LINQ是一组查询技术的统称。其主要思想是将各种查询功能直接集成到C#语言中,不论是对象、XML还是数据库,都可以用C#语法编写查询语句。换言之,利用LINQ查询数据源就像用C#使用类、方法、属性和事件一样,完全用C#语法来构造,并具有完全的类型检查和智能提示(IntelliSense)支持。LINQ执行查询时,一般利用foreach循环执行查询得到一个序列,这种方式称为“延迟执行”。对于聚合函数,如Count、Max、Average、First,由于返回的只是一个值,这类查询在内部使用for
9、each循环实现,而开发人员只需要调用LINQ提供的对应方法即可,这种方式称为“立即执行”。4.创建一个List<int>列表,向列表中添加10个元素,分别使用LINQ、lambda表达式两种方式查找列表中的偶数,并在控制台输出。【解答】using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication class Program static void Main(string args) List<int> intList = new List<int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; Console.WriteLine("使用LINQ查询列表:"); var query1 = from t in intList where t % 2 = 0 select t; foreach (var m in query1) Console.Write(m + " "); Console.WriteLine(); Console.WriteLine("使用L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年浸渗胶合作协议书
- 2025年度代驾服务行业竞争情报共享合同
- 2025年度商铺租赁合同终止及租赁期满退租协议
- 2025年度专业厨师团队定制合作合同书
- 2025年度手房买卖合同(含纠纷解决机制)
- 金属波纹管膨胀节(铝)项目绩效评估报告
- 基于三维激光点云上下文特征的露天铜矿爆堆块度计算
- 油气井套管水泥环组合体径向承载特性试验研究
- 2025年度办事处市场拓展与品牌授权合作协议
- 科技助力社区文化活动策划的实践案例
- 广州市小学六年级上英语单词
- 武汉市2024-2025学年度高三元月调考历史试题卷(含答案)
- 《慢性肾脏病相关心肌病综合管理中国专家共识(2024版)》解读
- DCMM解析版练习试题附答案
- 《工程建设质量信得过班组建设活动准则》
- 金融企业会计第八章证券公司业务的核算
- 2025新外研社版英语七年级下单词默写表
- 2024下半年上海事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 网络安全风险评估行业研究报告
- 新能源汽车充电设施安全检查记录表
- GB/T 38153.1-2024印刷技术测试印样的实验室制备第1部分:浆状油墨
评论
0/150
提交评论