C# 数组,List,Dictionary的相互转换,提取List对象中的某一字段到新的List中

//定义人员类    
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对象中的某一字段到新的List中
//把其中的Name字段单独成为一个List
List<string> lstName = new List<string>(StaffList.Select(t => t.Name).ToList());

//将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();

 

posted @ 2020-12-21 12:06  ₯㎕~  阅读(1086)  评论(0编辑  收藏  举报