全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C#数组中List, Dictionary的相互转换问题

本篇文章会向大家实例讲述以下内容:

  • 将数组转换为List
  • 将List转换为数组
  • 将数组转换为Dictionary
  • 将Dictionary 转换为数组
  • 将List转换为Dictionary
  • 将Dictionary转换为List

首先这里定义了一个“Student”的类,它有三个自动实现属性。

class Student 
 {
 public int Id { get; set; }
 public string Name { get; set; }
 public string Gender { get; set; }
 }

将数组转换为List

将数组转换成一个List,我先创建了一个student类型的数组。

static void Main (string[] args) 
 {
  //创建数组
  Student[] StudentArray = new Student[3];
  //创建创建3个student对象,并赋值给数组的每一个元素  StudentArray[0] = new Student()
  {
  Id = 203,
  Name ="Tony Stark",
  Gender ="Male"
  };
  StudentArray[1] = new Student()
  {
  Id = 205,
  Name="Hulk",
  Gender = "Male"
  };
  StudentArray[2] = new Student() 
  {
  Id = 210,
  Name ="Black Widow",
  Gender="Female"
  };

接下来,使用foreach遍历这个数组。

foreach (Student student in StudentArray)
 {
 Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+" "+" Gender = "+student.Gender);
 }

运行程序

接下来将这个数组转换为List,我们添加System.Linq命名空间,然后调用ToList()扩展方法。这里我们就调用StudentArray.ToList()

注意这个ToList方法的返回类型,它返回的是List< Student >对象,这说明我们可以创建一个该类型的对象来保存ToList方法返回的数据。

List<Student> StudentList = StudentArray.ToList<Student>();

使用foreach从StudentList中获取所有的学生资料。

List<Student> StudentList = StudentArray.ToList<Student>();
foreach (Student student in StudentList)
 {
 Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+" "+" Gender = "+student.Gender);
 }

运行程序

将List转换为数组

将List转换为数组,使用System.Linq命名空间下的ToArray()扩展方法。

Student[] ListToArray = StudentList.ToArray<Student>();

使用foreach遍历学生资料

foreach (Student student in ListToArray)
{
 Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+" "+" Gender = "+student.Gender);
}

运行程序

将数组转换为Dictionary

将数组转换成Dictionary,使用ToDictionary()扩展方法。这里就可以用StudentArray.ToDictonary(

看这个方法需要的参数,第一个参数需要键和第二个参数需要值。我们知道Dictionary是一个泛型,它是键/值对类型的集合。因此,这里我们用一个lambda表达式传递Dictionary对象名称。

StudentArray.ToDictionary(key => key.Id,Studentobj => Studentobj);

这个ToDictionary方法返回的类型是Dictionary 对象。 其键/值对<int,Student>类型,同样说明我们可以创建一个该类型的对象来存储ToDictionary方法得到的数据。

Dictionary<int, Student> StudentDictionary = StudentArray.ToDictionary(key => key.Id,Studentobj => Studentobj);

使用foreach从这个StudentDictionary对象遍历学生资料,如下:

foreach (KeyValuePair<int, Student> student in StudentDictionary)
{
 Console.WriteLine("Id = "+student.Key+" "+" Name = "+student.Value.Name+" "+" Gender = "+student.Value.Gender);
}

运行程序

将Dictionary转换为数组

将Dictionary转换成数组,使用ToArray扩展方法。在之前,需要获取Dictionary对象的集合中的值,所以我们使用Values属性的ToArray方法。

Student[] DictionaryToArray = StudentDictionary.Values.ToArray();

使用foreach遍历学生资料

foreach (Student student in DictionaryToArray)
{
 Console.WriteLine("Id = "+student.Id+" "+" Name = " +student.Name+" "+" Gender = "+student.Gender);
}

运行程序

将List转换为Dictionary

之前已经创建了一个StudentList学生对象,将StudentList转换为Dictionary我们调用ToDictionary方法。

Dictionary<int, Student> ListToDictionary = StudentList.ToDictionary(key => key.Id, value => value);

对于ToDictionary方法的两个参数,我们分别通过键和值传递其对象。这里ToDictionary被赋值,并返回了一个< int,Student >Dictionary 对象。所以我们创建该类型的对象然后存储返回的数据,最后用foreach获取学生资料。

foreach (KeyValuePair<int,Student> student in ListToDictionary)
{
 Console.WriteLine("Id = "+student.Key+" "+" Name = " +student.Value.Name+" "+" Gender = "+student.Value.Gender);
}

运行程序

将Dictionary转换为List

将Dictionary 转换成List调用ToList方法,之前已经创建了一个StudentDictionary对象。直接看如何这个对象转换到list.

List<Student> DictionaryToList = StudentDictionary.Values.ToList();
foreach (Student student in DictionaryToList)
{
 Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+" "+" Gender = "+student.Gender);
}

运行程序

以上所述是小编给大家介绍的#数组中List, Dictionary的相互转换问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# c#  # 数组  # list  # dictionary  # 转换  # C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)  # C#常见的几种集合 ArrayList  # Hashtable  # List<T>  # Dictionary<K  # V> 遍历方法对比  # C# ArrayList、HashSet、HashTable、List、Dictionary的区别详  # C#实现Array 


相关文章: 如何通过商城自助建站源码实现零基础高效建站?  制作证书网站有哪些,全国城建培训中心证书查询官网?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  Python如何创建带属性的XML节点  浅谈Javascript中的Label语句  定制建站如何定义?其核心优势是什么?  建站之星如何实现五合一智能建站与营销推广?  如何在建站宝盒中设置产品搜索功能?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  无锡营销型网站制作公司,无锡网选车牌流程?  建站上市公司网站建设方案与SEO优化服务定制指南  C++用Dijkstra(迪杰斯特拉)算法求最短路径  如何解决ASP生成WAP建站中文乱码问题?  在线教育网站制作平台,山西立德教育官网?  表情包在线制作网站免费,表情包怎么弄?  建站主机选购指南与交易推荐:核心配置解析  南京网站制作费用,南京远驱官方网站?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何在云服务器上快速搭建个人网站?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  深圳网站制作的公司有哪些,dido官方网站?  西安大型网站制作公司,西安招聘网站最好的是哪个?  高性价比服务器租赁——企业级配置与24小时运维服务  用v-html解决Vue.js渲染中html标签不被解析的问题  C++时间戳转换成日期时间的步骤和示例代码  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  为什么Go需要go mod文件_Go go mod文件作用说明  郑州企业网站制作公司,郑州招聘网站有哪些?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  TestNG的testng.xml配置文件怎么写  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  完全自定义免费建站平台:主题模板在线生成一站式服务  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何登录建站主机?访问步骤全解析  广州商城建站系统开发成本与周期如何控制?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  python的本地网站制作,如何创建本地站点?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  制作销售网站教学视频,销售网站有哪些?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  平台云上自主建站:模板化设计与智能工具打造高效网站  家庭建站与云服务器建站,如何选择更优?  制作网站的软件免费下载,免费制作app哪个平台好?  如何在香港服务器上快速搭建免备案网站?  如何通过万网虚拟主机快速搭建网站?  网站制作免费,什么网站能看正片电影?  如何高效配置IIS服务器搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。