下面详细讲解一下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技术站