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

下面详细讲解一下C#实现Array、List、Dictionary相互转换的完整攻略。

1. Array和List的相互转换

Array转List

使用ToList()方法可以将Array类型的数组转换为List泛型集合类型,具体代码如下所示:

string[] array = { "apple", "banana", "cherry" };
List<string> list = array.ToList();

List转Array

使用ToArray()方法可以将List泛型集合类型转换为Array类型的数组,具体代码如下所示:

List<string> list = new List<string>() { "apple", "banana", "cherry" };
string[] array = list.ToArray();

2. Array和Dictionary的相互转换

Array转Dictionary

使用ToDictionary()方法可以将Array类型的数组转换为Dictionary泛型字典类型,具体代码如下所示:

string[] array = { "apple", "banana", "cherry" };
Dictionary<int, string> dict = array.ToDictionary((key) => Array.IndexOf(array, key), (value) => value);

上面的代码中,通过Array.IndexOf(array, key)获取数组中每个元素的索引作为字典的键,元素值作为字典的值。

Dictionary转Array

使用ToArray()方法可以将Dictionary泛型字典类型的键值对转换为Array类型的数组,具体代码如下所示:

Dictionary<int, string> dict = new Dictionary<int, string>() 
{ 
    { 0, "apple" },
    { 1, "banana" },
    { 2, "cherry" }
};
string[] array = dict.Select(pair => pair.Value).ToArray();

上面的代码中,使用Select()方法获取字典的每个元素的值作为数组的元素。

3. List和Dictionary的相互转换

List转Dictionary

使用LINQ的ToDictionary()方法可以将List泛型集合类型转换为Dictionary泛型字典类型,具体代码如下所示:

List<string> list = new List<string>() { "apple", "banana", "cherry" };
Dictionary<int, string> dict = list.Select((value, index) => new { index, value })
                                    .ToDictionary(pair => pair.index, pair => pair.value);

上面的代码中,通过Select()方法获取List中每个元素的索引和元素值,然后通过ToDictionary()方法将其转换为字典类型。

Dictionary转List

使用LINQ的Select()方法可以将Dictionary泛型字典类型的键值对转换为List泛型集合类型,具体代码如下所示:

Dictionary<int, string> dict = new Dictionary<int, string>() 
{ 
    { 0, "apple" },
    { 1, "banana" },
    { 2, "cherry" }
};
List<string> list = dict.Select(pair => pair.Value).ToList();

上面的代码中,使用Select()方法获取字典的每个元素的值作为List的元素。

以上就是C#实现Array、List、Dictionary相互转换的完整攻略,其中包含了两条示例代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现Array,List,Dictionary相互转换 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • Asp.net 下载功能的解决方案

    下面详细为大家介绍“Asp.net 下载功能的解决方案”的攻略。 一、方案介绍 在 Asp.net 中,我们经常需要实现文件下载的功能,这就需要对下载的过程进行控制和管理,以保证下载的正确性和安全性。为了满足这个需求,我们可以通过以下两种方式来实现: 利用 HttpResponse 对象下载文件 我们可以通过 Response 对象将文件以指定的方式输出到浏…

    C# 2023年6月3日
    00
  • 详解如何在ASP.NET Core中编写高效的控制器

    如何在ASP.NET Core中编写高效的控制器 在ASP.NET Core应用程序中,控制器是处理HTTP请求的核心组件。编写高效的控制器可以提高应用程序的性能和响应速度。本攻略将介绍如何在ASP.NET Core中编写高效的控制器。 步骤 以下是在ASP.NET Core中编写高效的控制器的步骤: 使用依赖注入。 在ASP.NET Core应用程序中,我…

    C# 2023年5月17日
    00
  • .net中最简单的http请求调用(比如调用chatgpt的openAI接口)

    支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linux, Mac。 http请求调用是开发中经常会用到的功能,因为,很多第三方功能接口往往是通过http地址的形式提供的,比如:ChatGpt、OpenAI、短信服务、在线翻译、地图服务、语音智能、等…   .net中调用ht…

    C# 2023年5月5日
    00
  • 解析在C#中接口和类的异同

    解析在C#中接口和类的异同 在C#中,接口和类都是面向对象编程中的重要概念,它们有一些相同点,也有一些差异。本文将从以下几个方面对接口和类进行比较,以帮助读者更好地理解它们之间的异同。 1. 定义 类是一种可以实例化的数据类型,它具有特定的属性和方法。类定义了数据类型的结构和行为,它是代码的基本组织单元。C#中,定义类的语法如下: class ClassNa…

    C# 2023年5月15日
    00
  • 一步步教你读懂NET中IL(图文详解)

    【一步步教你读懂NET中IL(图文详解)】是一个介绍中间语言(IL)的文章,包含以下内容: 标题级别 什么是IL IL有哪些特点 IL的编写和执行流程 如何使用ILDASM工具查看IL代码 IL指令介绍 示例:一个简单的IL程序示例 示例:一个带参数的IL程序示例 结论和建议 什么是IL IL,全称为Intermediate Language,是.NET平台…

    C# 2023年6月7日
    00
  • 适用与firefox ASP.NET无刷新二级联动下拉列表

    下面是“适用于 Firefox ASP.NET 无刷新二级联动下拉列表”的完整攻略。 介绍 在ASP.NET网站开发过程中,常常需要实现下拉列表的二级联动,即根据第一个下拉选项的选择,动态加载第二个下拉选项的内容。而且为了用户体验,需要使用无刷新技术,即在不刷新整个页面的情况下,实现二级下拉列表的动态更新。 本文将介绍如何实现这个功能,并针对火狐(Firef…

    C# 2023年5月31日
    00
  • C#封装DBHelper类

    下面是我对“C#封装DBHelper类”的完整攻略: 第一步:创建封装类 首先,我们需要创建一个名为DBHelper的类,这个类将会是一个对应于一个数据库连接的封装,提供了一系列的方法来操作数据库。这个类可以采用单例模式,确保整个应用程序只会有一个数据库连接对象。以下是一个简单的DBHelper类的示例: using System; using System…

    C# 2023年5月31日
    00
  • c#实现将pdf转文本的示例分享

    下面我会给出详细的 “c#实现将pdf转文本” 的攻略。 准备工作 在正式开始之前,你需要准备以下几个工具: 安装 .NET Framework,如果你已经安装了Visual Studio那么可以省略这一步。可以在 Microsoft 的官网上下载对应的版本。 安装 PDFBox .NET 库,PDFBox是Java语言编写的一个库,PDFBox .NET是…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部