C#实现Array,List,Dictionary相互转换
作者:農碼一生 发布时间:2022-10-09 13:51:39
标签: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();
}
三、结果输出
来源:https://www.cnblogs.com/wml-it/p/15514456.html
0
投稿
猜你喜欢
- 什么是Dozer?Dozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通
- 这篇文章主要介绍了springmvc如何使用POJO作为参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- BigDecimal类对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDe
- 简单看一下描述,例子最重要。1、getPath():返回定义时的路径,(就是你写什么路径,他就返回什么路径)2、getAbsolutePat
- 一、面向对象的4个基本特征抽象性、封装性、继承性和多态性。抽象性分为过程抽象和数据抽象。封装性封装将数据以及加在这些数据上的操作组织在一起,
- 参考 java查找无向连通图中两点间所有路径的算法,对代码进行了部分修改,并编写了测试用例。算法要求:1. 在一个无向连通图中求出
- import java.io.BufferedReader; import java.io.IOException;  
- 背景今天学习Springboot,但是用的apache-maven 3.0 ,导入springboot1.5.19 ,Maven项目老是爆红
- 本文实例为大家分享了Java金额大小写转换的具体代码,供大家参考,具体内容如下/** * @ClassName: NumberConver
- 首先,确保 IDEA 软件正确安装完成,Java 开发工具包 JDK 安装完成。IDEA 的 Java 项目 (Project) 则相当于
- 一、链表1.1 概述链表是真正动态的数据结构,最简单的动态数据结构,基本用于辅助组成其他数据结构。数据存储在“节点”(Node)中优点:真正
- 这篇文章主要介绍了Spring Boot Debug调试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 前言Mybatis真正强大的地方在于SQL映射语句,这也是它的魅力所在。相对于它强大的功能,SQL映射文件的配置却非常简单,我上篇文章语句讲
- (注意:本文基于JDK1.8) 前言Vector是线程安全的动态数组类,提供4个创建Vector对象的构造方法,接下来我们逐个分析
- 在java的开发中,java开发人员建议,尽量少用内部类,要把内部类提出他所处的那个类,单独生成一个类。直接来代码:package com.
- 目录前言:对文章出现的一些名词进行解释一、插入排序1.基本思想2.直接插入排序3.希尔排序(缩小增量排序)二、选择排序1.基本思想2.直接选
- 原始Spring开发Person.java准备Person.java类:package com.jektong.spring;public
- 一,项目简介经过调查研究进行开发设计的这款仓库管理系统,主要是为商家提供商品货物进销存的信息化管理,以便让商家在竞争如此激烈的今天占据一定的
- 一个Java程序的执行要经过编译和执行(解释)这两个步骤,同时Java又是面向对象的编程语言。当子类和父类存在同一个方法,子类重写了父类的方
- 实际需求<if test="computationRule == '1'"> F