程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#數組中List, Dictionary的互相轉換問題

C#數組中List, Dictionary的互相轉換問題

編輯:C#入門知識

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的互相轉換問題,希望對大家有所協助,假如大家有任何疑問請給我留言,會及時回復大家的。在此也十分感激大家對網站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved