• 當前位置:首頁 > IT技術 > Windows編程 > 正文

    C#Array,List,Dictionary的相互轉換
    2021-09-08 16:59:48

    本篇文章會向大家實例講述以下內容:?

    • 將Array轉換為List
    • 將List轉換為Array
    • 將Array轉換為Dictionary
    • 將Dictionary轉換為Array
    • 將List轉換為Dictionary
    • 將Dictionary轉換為List

    首先這里定義了一個“Student”的類,它有三個自動實現屬性。

    復制代碼
    class Student 
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Gender { get; set; }
        }
    復制代碼

    將Array轉換為List

    將Array轉換成一個List,我先創建了一個student類型的數組。

    復制代碼
    static void Main (string[] args) 
            {
                //創建數組
                Student[] StudentArray = new Student[3];
                //創建創建3個student對象,并賦值給數組的每一個元素            StudentArray[0] = new Student()
                {
                    Id = 203,
                    Name ="Tony Stark",
                    Gender ="Male"
                };
                StudentArray[1] = new Student()
                {
                    Id = 205,
                    Name="Hulk",
                    Gender = "Male"
                };
                StudentArray[2] = new Student() 
                {
                    Id = 210,
                    Name ="Black Widow",
                    Gender="Female"
                };
    復制代碼

    接下來,使用foreach遍歷這個數組。

    foreach (Student student in StudentArray)
     {
       Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+"  "+" Gender = "+student.Gender);
     }

    運行程序

    接下來將這個數組轉換為List,我們添加System.Linq命名空間,然后調用ToList()擴展方法。這里我們就調用StudentArray.ToList()

    注意這個ToList方法的返回類型,它返回的是List< Student >對象,這說明我們可以創建一個該類型的對象來保存ToList方法返回的數據。

    List<Student> StudentList = StudentArray.ToList<Student>();

    使用foreach從StudentList中獲取所有的學生資料。

    復制代碼
    List<Student> StudentList = StudentArray.ToList<Student>();
    
    foreach (Student student in StudentList)
     {
       Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+" "+" Gender = "+student.Gender);
     }
    復制代碼

    運行程序

    List轉換為Array

    將List轉換為Array,使用System.Linq命名空間下的ToArray()擴展方法。

    Student[] ListToArray = StudentList.ToArray<Student>();

    使用foreach遍歷學生資料

    foreach (Student student in ListToArray)
    {
      Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+" "+" Gender = "+student.Gender);
    }

    運行程序

    ?

    將Array轉換為Dictionary
    將Array轉換成Dictionary,使用ToDictionary()擴展方法。這里就可以用StudentArray.ToDictonary(

    看這個方法需要的參數,第一個參數需要鍵和第二個參數需要值。我們知道Dictionary是一個泛型,它是鍵/值對類型的集合。因此,這里我們用一個lambda表達式傳遞Dictionary對象名稱。

    StudentArray.ToDictionary(key => key.Id,Studentobj => Studentobj); 

    這個ToDictionary方法返回的類型是Dictionary 對象。 其鍵/值對<int,Student>類型,同樣說明我們可以創建一個該類型的對象來存儲ToDictionary方法得到的數據。

    Dictionary<int, Student> StudentDictionary = StudentArray.ToDictionary(key => key.Id,Studentobj => Studentobj);

    使用foreach從這個StudentDictionary對象遍歷學生資料,如下:

    foreach (KeyValuePair<int, Student> student in StudentDictionary)
    {
       Console.WriteLine("Id = "+student.Key+" "+" Name = "+student.Value.Name+" "+" Gender = "+student.Value.Gender);
    }

    運行程序

    Dictionary轉換為Array
    將Dictionary轉換成Array,使用ToArray擴展方法。在之前,需要獲取Dictionary對象的集合中的值,所以我們使用Values屬性的ToArray方法。

    Student[] DictionaryToArray = StudentDictionary.Values.ToArray();

    使用foreach遍歷學生資料

    foreach (Student student in DictionaryToArray)
    {
       Console.WriteLine("Id = "+student.Id+" "+" Name = " +student.Name+" "+" Gender = "+student.Gender);
    }

    運行程序

    List轉換為Dictionary

    之前已經創建了一個StudentList學生對象,將StudentList轉換為Dictionary我們調用ToDictionary方法。

    Dictionary<int, Student> ListToDictionary = StudentList.ToDictionary(key => key.Id, value => value);
    

    對于ToDictionary方法的兩個參數,我們分別通過鍵和值傳遞其對象。這里ToDictionary被賦值,并返回了一個< int,Student >Dictionary 對象。所以我們創建該類型的對象然后存儲返回的數據,最后用foreach獲取學生資料。

    foreach (KeyValuePair<int,Student> student in ListToDictionary)
    {
      Console.WriteLine("Id = "+student.Key+" "+" Name = " +student.Value.Name+" "+" Gender = "+student.Value.Gender);
    }

    運行程序

    ?

    Dictionary轉換為List

    將Dictionary 轉換成List調用ToList方法,之前已經創建了一個StudentDictionary對象。直接看如何這個對象轉換到list.

    List<Student> DictionaryToList = StudentDictionary.Values.ToList();
    foreach (Student student in DictionaryToList)
    {
      Console.WriteLine("Id = "+student.Id+" "+" Name = "+student.Name+" "+" Gender = "+student.Gender);
    }

    運行程序

    希望本文對你有幫助

    ?

    ?

    出處:https://www.cnblogs.com/Yesi/p/6229522.html

    本文摘自 :https://www.cnblogs.com/

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码