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

1. Array,List,Dictionary的定义与用途

在C#中,Array、List和Dictionary是常用的数据存储结构。它们各自有不同的特点和用途。

1.1 Array

Array(数组)是一种线性数据结构,用于存储固定大小的相同类型元素的集合。数组的长度是固定的,无法动态改变。数组可以通过索引访问和修改元素。

下面是一个创建和使用数组的示例:

int[] numbers = new int[5] { 1, 2, 3, 4, 5 };

Console.WriteLine(numbers[0]); // 输出:1

numbers[0] = 10;

Console.WriteLine(numbers[0]); // 输出:10

1.2 List

List(列表)是一种动态数组,可以在运行时添加、删除和修改元素。和数组相比,List没有固定的长度限制,可以根据需要动态调整大小。

下面是一个创建和使用List的示例:

List<string> fruits = new List<string>();

fruits.Add("apple");

fruits.Add("banana");

fruits.Add("orange");

Console.WriteLine(fruits[0]); // 输出:apple

fruits[0] = "grape";

Console.WriteLine(fruits[0]); // 输出:grape

1.3 Dictionary

Dictionary(字典)是一种键值对集合,每个键都唯一。可以通过键来访问值。字典通常用于存储大量的数据,并且可以高效地根据键查找值。

下面是一个创建和使用Dictionary的示例:

Dictionary<int, string> students = new Dictionary<int, string>();

students.Add(1, "Tom");

students.Add(2, "Mary");

students.Add(3, "John");

Console.WriteLine(students[1]); // 输出:Tom

students[1] = "Jerry";

Console.WriteLine(students[1]); // 输出:Jerry

2. Array,List,Dictionary之间的相互转换

2.1 Array和List的相互转换

Array和List之间的相互转换可以通过使用数组和列表的构造函数或方法来实现。

2.1.1 Array转换为List

Array可以通过List的构造函数将其转换为List。

int[] numbers = { 1, 2, 3, 4, 5 };

List<int> list = new List<int>(numbers);

上述代码将数组numbers转换为列表list。

2.1.2 List转换为Array

List可以通过ToArray()方法将其转换为Array。

List<int> list = new List<int>() { 1, 2, 3, 4, 5 };

int[] numbers = list.ToArray();

上述代码将列表list转换为数组numbers。

2.2 List和Dictionary的相互转换

List和Dictionary之间的相互转换可以通过使用LINQ来实现。

2.2.1 List转换为Dictionary

List可以通过ToDictionary()方法将其转换为Dictionary。

List<KeyValuePair<int, string>> list = new List<KeyValuePair<int, string>>()

{

new KeyValuePair<int, string>(1, "Tom"),

new KeyValuePair<int, string>(2, "Mary"),

new KeyValuePair<int, string>(3, "John")

};

Dictionary<int, string> dictionary = list.ToDictionary(item => item.Key, item => item.Value);

上述代码将列表list转换为字典dictionary,其中列表的每个元素是一个键值对。

2.2.2 Dictionary转换为List

Dictionary可以通过ToList()方法将其转换为List。

Dictionary<int, string> dictionary = new Dictionary<int, string>()

{

{ 1, "Tom" },

{ 2, "Mary" },

{ 3, "John" }

};

List<KeyValuePair<int, string>> list = dictionary.ToList();

上述代码将字典dictionary转换为列表list,其中列表的每个元素是一个键值对。

总结

在本文中,我们学习了C#中Array、List和Dictionary的定义和用途。我们还学习了如何将Array转换为List,List转换为Array,List转换为Dictionary,以及Dictionary转换为List。这些转换可以帮助我们在不同的场景中使用不同的数据存储结构,提高代码的灵活性和效率。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签