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

首先这里定义了一个“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小时内与您取得联系。