zoukankan      html  css  js  c++  java
  • C# 数组,List,Dictionary的相互转换

    //定义人员类    
    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# SQLiteHelper
    C# 自定义等待窗口
    C# Work PPT to PDF
    SQL 分隔字符串
    SQL 客户端查看
    SQL 自定义四舍五入
    SQL 并联更新
    C# 委托简单例子
    每天一个Linux命令(52)telnet命令
    每天一个Linux命令(51)ss命令
  • 原文地址:https://www.cnblogs.com/yc1224/p/14167255.html
Copyright © 2011-2022 走看看