C#中 Array / List / Dictionary之相互转换

Array / List / Dictionary 是C#中最常用到的数据结构,都是引用类型,有时候为了不影响源数据,可以复制一份利用复件进行一些计算,有些情况下为了便于计算,还需要对数据结构进行转换,下面整理了Array / List / Dictionary两两相互转换的方法,希望可以帮到大家~

//先声明,接下来对数据进行转换

    string[] testAarray = new string[] { "array01", "array02", "array03", "array04", "array05" };
    List<string> testList = new List<string>() { "list01", "list02", "list03", "list04", "list05" };
    Dictionary<int, string> testDic = new Dictionary<int, string>() { { 1, "dictionary01" }, { 2, "dictionary02" }, { 3, "dictionary03" } };

//Array数组的 复制、转List、转Dictionary

        //Array复制
        string[] copyArray = new string[5];
        //目标数组.CopyTo(接收数组, 复制起点)
        testAarray.CopyTo(copyArray, 0);
        //Array转List
        List<string> arrayToList = new List<string>(testAarray);
        //Array转Dictionary
        //命名空间using System.Linq;
        //Array下标作为Dictionary的key,元素作为value,利用lambda转换
        Dictionary<int, string> arrayToDic = testAarray.ToDictionary(arrayItem => System.Array.IndexOf(testAarray, arrayItem), arrayItem => arrayItem);

//List列表的 复制、转Array、转Dictionary

        //List复制
        List<string> copyList = new List<string>(testList);
        //List转Array
        string[] listToArray = testList.ToArray();
        //List复制到Array
        //调用与Aarray.CopyTo相同,实现的功能貌似和List.ToArray()一样
        string[] listCopyToArray = new string[5];
        testList.CopyTo(listCopyToArray, 0);
        //List转Dictionary
        //与Array转Dictionary相同
        Dictionary<int, string> listToDic = testList.ToDictionary(listItem => testList.IndexOf(listItem), listItem => listItem);

//Dictionary字典的 复制、转Array、转List

        //Dictionary复制
        Dictionary<int, string> copyDic = new Dictionary<int, string>(testDic);
        //Dictionary转Array
        int[] dictionaryKeyToArray = testDic.Keys.ToArray<int>();
        string[] dictionaryToArray = testDic.Values.ToArray<string>();
        //Dictionary转List
        List<int> dictionaryKeyToList = testDic.Keys.ToList<int>();
        List<string> dictionaryToList = testDic.Values.ToList<string>();

猜你喜欢

转载自blog.csdn.net/qq_39108767/article/details/82287924