数组转换
原创链接:https://www.cnblogs.com/yc1224/p/14167255.html
//定义人员类
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();