////////试题信息/////////////////
// 已知
// h、d两个数组分别表示表头和内容
// 要求
// 编写函数一:rs2Array
// 返回一个数组,每一项为一个对象。
// 编写函数二:rs2MultiHash
// 返回一个对象,内容是键值对。
////////////////////////////////
using System;
using System.Collections.Generic; public class test_02_quiz
{
static void Main(string[] args)
{
List<String> tmp, h = new List<String>();
h.Add("id"); h.Add("name"); h.Add("region");
List<List<String>> d = new List<List<String>>();
tmp = new List<String>();
tmp.Add(""); tmp.Add("wang"); tmp.Add("shanghai");
d.Add(tmp);
tmp = new List<String>();
tmp.Add(""); tmp.Add("huang"); tmp.Add("beijing");
d.Add(tmp);
tmp = new List<String>();
tmp.Add(""); tmp.Add("zhang"); tmp.Add("beijing");
d.Add(tmp);
tmp = new List<String>();
tmp.Add(""); tmp.Add("wang"); tmp.Add("shanghai");
d.Add(tmp); String str1 = rs2Array(h, d);
Console.WriteLine(str1); String str2 = rs2MultiHash(h, d, h[]);
Console.WriteLine(str2);
} /* rs2Array(h, d) 期望结果为:
[
{id: "100", name: "wang", region: "shanghai"},
{id: "101", name: "huang", region: "beijing"},
{id: "102", name: "zhang", region: "beijing"},
{id: "103", name: "li", region: "shanghai"}
]
*/
private static String rs2Array(List<String> h, List<List<String>> d)
{
//return "not implemented";
// 注释上面一句,并请在此实现函数: } /* rs2MultiHash(h, d, h[0]) 期望结果为:
{
"100": [{id: "100", name: "wang", region: "shanghai"}],
"101": [{id: "101", name: "huang", region: "beijing"}],
"102": [{id: "102", name: "zhang", region: "beijing"}],
"103": [{id: "103", name: "li", region: "shanghai"}]
}
*/
/* rs2MultiHash(h, d, h[2]) 期望结果为:
{
"shanghai": [
{id: "100", name: "wang", region: "shanghai"},
{id: "103", name: "li", region: "shanghai"}
],
"beijing": [
{id: "101", name: "huang", region: "beijing"},
{id: "102", name: "zhang", region: "beijing"}
]
}
*/
private static String rs2MultiHash(List<String> h, List<List<String>> d, String key)
{
//return "not implemented";
// 注释上面一句,并请在此实现函数: } // 如果有公共函数需要提取,请在此编写: }

方法代码:

 private static String rs2Array(List<String> h, List<List<String>> d)
{
return JsonConvert.SerializeObject(d.Select(x => middleConvert(h, x)));
} private static String rs2MultiHash(List<String> h, List<List<String>> d, String key)
{
return JsonConvert.SerializeObject(d.Select(x => middleConvert(h, x))
.GroupBy(x => x[key])
.ToDictionary(x => x.Key, x => x.ToArray()));
} private static Dictionary<string, string> middleConvert(List<string> h, List<string> d)
{
return h.ToDictionary(x => x, x => d[h.IndexOf(x)]);
}

最新文章

  1. Yeoman 学习笔记
  2. web项目log4j的配置模板
  3. 由于一个粗心造成的RuntimeException
  4. char类型的字节数
  5. 用Java实现约瑟夫环
  6. nyoj325 zb的生日(DFS)
  7. html之ol标签
  8. hyperv虚拟机网络速度慢问题的解决办法
  9. js过滤emoji表情符号
  10. Intersection(poj)
  11. appium+python环境搭建
  12. 通过核心概念了解webpack工作机制
  13. Chapter 5 Blood Type——16
  14. iOS Build Apps for the World WWDC
  15. JVM学习(一)简介
  16. 转:甲骨文发布大数据解决方案 含最新版NoSQL数据库
  17. vue--公告轮播
  18. Java 虚拟机:互斥同步、锁优化及synchronized和volatile
  19. 处理URL为模块/控制器/方法的格式
  20. Life Cycle(JSF+Facelets)

热门文章

  1. 使用Doxygen + graphviz生成Unity 3d的UGUI类图
  2. 奇怪吸引子---RayleighBenard
  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十九):推送avro格式数据到topic,并使用spark structured streaming接收topic解析avro数据
  4. (亲测解决)每次打开excel文件都会出现两个窗口,一个是空白的sheet1,另一个是自己的文档
  5. 判断js数组包是否包含某个元素
  6. Nginx负载均衡权重,ip_hash
  7. 把上传过来的多张图片拼接转为PDF的实现代码
  8. What is the name of the “--&amp;gt;” operator?(Stackoverflow)
  9. tar加密
  10. python(60):configparser 函数,配置文件