首页 > 编程语言 > 详细

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

时间:2020-12-21 15:13:17      阅读:26      评论:0      收藏:0      [点我收藏+]
//定义人员类    
class Staff
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age{ get; set; }
}
    
//将数组转换为List,先创建一个staff类型的数组。
 //创建数组
 Staff[] StaffArray = new Staff[3];
 //创建创建3个Staff对象,并赋值给数组的每一个元素            StaffArray[0] = new Staff()
{
     Id = 1,
     Name ="张三",
     Age= 26
};
StaffArray[1] = new Staff()
{
     Id = 2,
     Name="李四",
     Age= 30
};
StaffArray[2] = new Staff() 
{
     Id = 3,
     Name ="王五",
     Age= 28
};

//将数组转换为List,添加System.Linq命名空间,然后调用ToList()扩展方法。这里调用StaffArray.ToList()
//注意这个ToList方法的返回类型,它返回的是List<Staff>对象,这说明可以创建一个该类型的对象来保存ToList方法返回的数据。

List<Staff> StaffList = StaffArray.ToList<Staff>();

//将List转换为数组,使用System.Linq命名空间下的ToArray()扩展方法。
Staff[] ListToArray = StaffList.ToArray<Staff>();

//将数组转换成Dictionary,使用ToDictionary()扩展方法。这里就可以用StaffArray.ToDictonary();
//看这个方法需要的参数,第一个参数需要键和第二个参数需要值。我们知道Dictionary是一个泛型,它是键/值对类型的集合。因此,这里我们用一个lambda表达式传递Dictionary对象名称。
Dictionary<int, Staff> StaffDictionary = StaffArray.ToDictionary(key => key.Id,Staffobj => Staffobj); 

//将Dictionary转换为数组
//将Dictionary转换成数组,使用ToArray扩展方法。在之前,需要获取Dictionary对象的集合中的值,所以我们使用Values属性的ToArray方法。
Staff[] DictionaryToArray = StaffDictionary.Values.ToArray();

//将List转换为Dictionary
//将StaffList转换为Dictionary我们调用ToDictionary方法。

Dictionary<int, Staff> ListToDictionary = StaffList.ToDictionary(key => key.Id, value => value);

//将Dictionary转换为List
//将Dictionary 转换成List调用ToList方法.
List<Staff> DictionaryToList = StaffDictionary.Values.ToList();

 

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

原文:https://www.cnblogs.com/yc1224/p/14167255.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!