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();
欢迎加群交流 QQ群 : 830426796