C#实现Array,List,Dictionary相互转换

一、代码实例实现功能

  • 将Array转换为List
  • 将List转换为Array
  • 将Array转换为Dictionary
  • 将Dictionary转换为Array
  • 将List转换为Dictionary
  • 将Dictionary转换为List

二、代码实现

学生类

    class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Gender { get; set; }
    }

转换实现代码

        static void Main(string[] args)
        {
            #region 创建学生数组
            //创建数组
            Student[] StudentArray = new Student[3];
            //创建创建3个student对象,并赋值给数组的每一个元素
            StudentArray[0] = new Student()
            {
                Id = 0001,
                Name = "Tony",
                Gender = "M"
            };
            StudentArray[1] = new Student()
            {
                Id = 0002,
                Name = "Hulk",
                Gender = "M"
            };
            StudentArray[2] = new Student()
            {
                Id = 0003,
                Name = "Black",
                Gender = "F"
            };

            #endregion
            Console.WriteLine("=================测试打印信息=================");

            //打印Array中学生信息
            Console.WriteLine("打印Array中学生信息:");
            foreach (Student student in StudentArray)
            {
                Console.WriteLine("Id = " + student.Id + " " + " Name = " + student.Name + "  " + " Gender = " + student.Gender);
            }

            //Array转为LIST
            List<Student> StudentList = StudentArray.ToList<Student>();
            //打印List中的学生信息
            Console.WriteLine("打印List中学生信息:");
            foreach (Student student in StudentList)
            {
                Console.WriteLine("Id = " + student.Id + " " + " Name = " + student.Name + " " + " Gender = " + student.Gender);
            }

            //LIST转为Array
            Student[] ListToArray = StudentList.ToArray<Student>();
            Console.WriteLine("打印ListToArray中的学生信息:");
            //打印ListToArray中的学生信息
            foreach (Student student in ListToArray)
            {
                Console.WriteLine("Id = " + student.Id + " " + " Name = " + student.Name + " " + " Gender = " + student.Gender);
            }

            //Array转换为Dictionary
            Dictionary<int, Student> StudentDictionary = StudentArray.ToDictionary(key => key.Id, Studentobj => Studentobj);
            //打印ArrayToDictionary中的学生信息
            Console.WriteLine("打印ArrayToDictionary中的学生信息:");
            foreach (KeyValuePair<int, Student> student in StudentDictionary)
            {
                Console.WriteLine("Id = " + student.Key + " " + " Name = " + student.Value.Name + " " + " Gender = " + student.Value.Gender);
            }

            //Dictionary转换为Array
            Student[] DictionaryToArray = StudentDictionary.Values.ToArray();
            //打印Dictionary转Array中的学生信息
            Console.WriteLine("打印DictionaryToArray中的学生信息:");
            foreach (Student student in DictionaryToArray)
            {
                Console.WriteLine("Id = " + student.Id + " " + " Name = " + student.Name + " " + " Gender = " + student.Gender);
            }

            //List转换为Dictionary
            Dictionary<int, Student> ListToDictionary = StudentList.ToDictionary(key => key.Id, value => value);
            //打印ListToDictionary中的学生信息
            Console.WriteLine("打印ListToDictionary中的学生信息:");
            foreach (KeyValuePair<int, Student> student in ListToDictionary)
            {
                Console.WriteLine("Id = " + student.Key + " " + " Name = " + student.Value.Name + " " + " Gender = " + student.Value.Gender);
            }

            //Dictionary转换为List
            List<Student> DictionaryToList = StudentDictionary.Values.ToList();
            //打印DictionaryToList中的学生信息
            Console.WriteLine("打印DictionaryToList中的学生信息:");
            foreach (Student student in DictionaryToList)
            {
                Console.WriteLine("Id = " + student.Id + " " + " Name = " + student.Name + " " + " Gender = " + student.Gender);
            }
            Console.WriteLine("===============END===================");
            Console.ReadLine();
        }

三、结果输出

到此这篇关于C#实现Array,List,Dictionary相互转换的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C# ArrayList、HashSet、HashTable、List、Dictionary的区别详解

    在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求. 由于这种限制不方便,所以出现了ArrayList. ArrayList.List<T> ArrayList是可变长数组,你可以将任意多的数据Add到ArrayList里面.其内部维护的数组,当长度不足时,会自动扩容为原来的两倍. 但是ArrayList也有一个缺点,就是存入ArrayList里面的数据都是Object类型的,所以如果将值类型存入和取出的时候会发生装箱.拆箱操作(就是值类型与引用类型之间的转换),这个会影响程序性能

  • C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)

    前言 在工作中经常遇到C#数组.ArrayList.List.Dictionary存取数据,但是该选择哪种类型进行存储数据,对于初学者的我一直不知道该怎么取舍.于是抽空好好看了下他们的用法和比较,在这里总结下来,后面有需要改进的再更新. 初始化 数组: int[] buff = new int[6]; ArrayList: ArrayList buff = new ArrayList(); List: List<int> buff = new List<int>(); Dictio

  • C#常见的几种集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍历方法对比

    一.先来分别介绍一下ArrayList,Hashtable,List<T>,Dictionary<K,V> 1.ArrayList动态数组,保存值的时候比较好用 2.Hashtable以存储键值对的方式存储.value,和key 3.List<T> 和 Dictionary<K,V> 应该是泛型吧,可以保存实体类 二.各种集合的遍历方法演示 1.ArrayList ArrayList list = new ArrayList(); //for遍历 for (

  • C#实现Array,List,Dictionary相互转换

    一.代码实例实现功能 将Array转换为List 将List转换为Array 将Array转换为Dictionary 将Dictionary转换为Array 将List转换为Dictionary 将Dictionary转换为List 二.代码实现 学生类 class Student { public int Id { get; set; } public string Name { get; set; } public string Gender { get; set; } } 转换实现代码 s

  • python中Array和DataFrame相互转换的实例讲解

    python中,对于array数组中的数据放在DataFrame数据框中可以更好的进行数据分析,但是二者并不是一个数据类型,因此需要将array转dataframe.既然可以array转dataframe,那么可同样dataframe也可以转回array结构.本文介绍python中Array和DataFrame相互转换的方法. 1.array转dataframe:直接用pd.dataframe()进行转化 使用格式 a = pd.DataFrame(a) 具体实例 import pandas a

  • JavaScript自学笔记(必看篇)

    0-判断变量.参数是否初始化 if(x){} //变量被初始化了或者变量不为空或者变量不为零 1-声明函数不需要声明返回值.参数类型,句尾甚至都不需要';' function sum(i1,i2){return i1+i2} 2-直接声明匿名函数立即使用 var f=function(i1,i2){return i1+i2;}; alert(f(1,2));//普通匿名函数 alert(function(i1,i2){return i1+i2;}(3,4));//直接声明,立即使用 3-js中没

  • Swift教程之基础数据类型详解

    基础类型 虽然Swift是一个为开发iOS和OS X app设计的全新编程语言,但是Swift的很多特性还是跟C和Objective-C相似. Swift也提供了与C和Objective-C类似的基础数据类型,包括整形Int.浮点数Double和Float.布尔类型Bool以及字符串类型String.Swift还提供了两种更强大的基本集合数据类型,Array和Dictionary,更详细的内容可以参考:Collection Types. 跟C语言一样,Swift使用特定的名称来定义和使用变量.同

  • Swift 3.0基础学习之类与结构体

    前言 和其他语言不同的是,Swift不需要为自定义的类和结构体创建接口和实现文件.只需要创建单一文件用来创建类和结构体,其他的外部接口的代码系统会自动生成.下面这篇文章主要介绍了关于Swift 3.0类与结构体的内容,感兴趣的朋友一起来看看吧. 类和结构体区别 Swift的类和结构体具有以下相同的特点: 可以定义属性来保存值 可以定义方法来提供功能 可以定义下标来使用他们的值 可以定义初始化器来配置他们的初始化状态 可以在默认的实现上扩展他们的功能 遵从协议来提供标准的功能 类具有结构体没有的额

  • 探讨Swift数组和字典

    数组是一个存储多个相同类型的值的有序列表.相同的值,可以在不同的位置出现在一个数组中的多个次. Swift数组是具体的.他不同于Objective-C的的NSArray和NSMutableArray里的类,它可以存储任何类型的对象,不提供有关它们返回的对象的性质的任何信息.在斯Swift,一个特定的数组可以存储的值类型总是明确的,无论是通过显式类型批注,或通过类型推断,而不一定是类类型.如果创建诠释值的数组,例如,你不能插入比Int值以外的任何值到该数组.Swift数组是类型安全的,并且总是清楚

  • 详解Swift中的下标访问用法

    Swift中的Array,Dictionary类型可以通过下标或者键值的方式来进行数据的访问,实际上在Swift的语法中,下标可以定义在类.结构体.枚举中.开发者可以通过下标的方式来对属性进行访问而不用使用专门的存取方法.并且定义的下标不限于一维,开发者可以定义多维的下标来满足需求. 下标的语法结构 下标使用subscript来定义,其有些类似于方法,参数和返回值本别作为下标入参和通过下标所取的值.但是在subscript实现部分,又十分类似于计算属性,其需要实现一个get块和可选实现一个set

  • c#中值类型和引用类型的基础教程

    前言 值类型和引用类型,是c#比较基础,也必须掌握的知识点,但是也不是那么轻易就能掌握,今天跟着老胡一起来看看吧. 典型类型 首先我们看看这两种不同的类型有哪些比较典型的代表. 典型值类型 int, long, float, double等原始类型中表示数字的类型都是值类型,表示时间的datatime也是值类型,除此之外我们还可以通过关键字struct自定义值类型. 典型引用类型 原始类型中,array, list, dictionary, queue, stack和string都是引用类型,除

  • Unity游戏开发之2048游戏的实现

    目录 一.前言 二.游戏开发知识储备 2-1技术栈 三.休闲类游戏<2048>开发实战 3-1玩法概述 3-2实现分析 3-3搭建场景 3-4实现代码 一.前言 写今天这篇文章的缘由,其实是来自于前段时间和粉丝的一个聊天,最近他打算参加游戏创作大赛,问我需要准备学习什么知识,以及参加比赛的注意事项一类: 我相信因为热爱游戏而前来投身于U3D学习的粉丝想来不是少数,兴趣可以驱动学习,在完善自己心爱游戏的过程中,要不断的去学习,不断的提高自己. 而参与游戏设计比赛,更是提高自身技术实力.增长眼界见

  • C#中的LINQ to Objects详解

    目录 一.概述 二. Linq to Objects中的延迟计算 1. Linq延迟计算的注意点 2. 整理Linq to Objects中运算符延迟计算特性 1.具有延迟计算的运算符 2.立即执行的运算符 三.LINQ 和字符串 1.查询文本块 实例1: 统计单词在字符串中出现的次数 实例2: 在文本文件中,找出包含一组指定单词的的句子. 实例3: 查询字符串中的字符 实例4:用正则表达式结合 LINQ 查询 2.查询文本格式的半结构化数据 实例1.如何查找两个集合间的差异 实例2: 根据某字

随机推荐