C#數組中List, Dictionary的互相轉換問題。本站提示廣大學習愛好者:(C#數組中List, Dictionary的互相轉換問題)文章只能為提供參考,不一定能成為您想要的結果。以下是C#數組中List, Dictionary的互相轉換問題正文
本篇文章會向大家實例講述以下內容:
將數組轉換為List 將List轉換為數組 將數組轉換為Dictionary 將Dictionary 轉換為數組 將List轉換為Dictionary 將Dictionary轉換為List首先這裡定義了一個“Student”的類,它有三個自動完成屬性。
class Student { public int Id { get; set; } public string Name { get; set; } public string Gender { get; set; } }
將數組轉換為List
將數組轉換成一個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轉換為數組
將List轉換為數組,運用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); }
運轉順序
將數組轉換為Dictionary
將數組轉換成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轉換為數組
將Dictionary轉換成數組,運用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); }
運轉順序
以上所述是給大家引見的#數組中List, Dictionary的互相轉換問題,希望對大家有所協助,假如大家有任何疑問請給我留言,會及時回復大家的。在此也十分感激大家對網站的支持!