C 陣列,List,Dictionary的相互轉換

2021-09-07 08:24:13 字數 3618 閱讀 1592

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

首先這裡定義了乙個「student」的類,它有三個自動實現屬性。

class

student

public

string name

public

string gender

}

將陣列轉換為list將陣列轉換成乙個list,我先建立了乙個student型別的陣列。

static

void main (string

args)

;studentarray[

1] = new

student()

;studentarray[

2] = new

student()

;

接下來,使用foreach遍歷這個陣列。

foreach (student student in

studentarray)

執行程式

接下來將這個陣列轉換為list,我們新增system.linq命名空間,然後呼叫tolist()擴充套件方法。這裡我們就呼叫studentarray.tolist()

注意這個tolist方法的返回型別,它返回的是list< student >物件,這說明我們可以建立乙個該型別的物件來儲存tolist方法返回的資料。

liststudentlist = studentarray.tolist();
使用foreach從studentlist中獲取所有的學生資料。

liststudentlist = studentarray.tolist();

foreach (student student in

studentlist)

執行程式

list轉換為陣列

將list轉換為陣列,使用system.linq命名空間下的toarray()擴充套件方法。

student listtoarray = studentlist.toarray();
使用foreach遍歷學生資料

foreach (student student in

listtoarray)

執行程式

將陣列轉換為dictionary

將陣列轉換成dictionary,使用todictionary()擴充套件方法。這裡就可以用studentarray.todictonary(

看這個方法需要的引數,第乙個引數需要鍵和第二個引數需要值。我們知道dictionary是乙個泛型,它是鍵/值對型別的集合。因此,這裡我們用乙個lambda表示式傳遞dictionary物件名稱。

studentarray.todictionary(key => key.id,studentobj =>studentobj);
這個todictionary方法返回的型別是dictionary 物件。 其鍵/值對型別,同樣說明我們可以建立乙個該型別的物件來儲存todictionary方法得到的資料。

dictionary studentdictionary = studentarray.todictionary(key => key.id,studentobj => studentobj);
使用foreach從這個studentdictionary物件遍歷學生資料,如下:

foreach (keyvaluepair student in

studentdictionary)

執行程式

dictionary轉換為陣列

將dictionary轉換成陣列,使用toarray擴充套件方法。在之前,需要獲取dictionary物件的集合中的值,所以我們使用values屬性的toarray方法。

student dictionarytoarray = studentdictionary.values.toarray();
使用foreach遍歷學生資料

foreach (student student in

dictionarytoarray)

執行程式

list轉換為dictionary

之前已經建立了乙個studentlist學生物件,將studentlist轉換為dictionary我們呼叫todictionary方法。

dictionary listtodictionary = studentlist.todictionary(key => key.id, value =>value);

對於todictionary方法的兩個引數,我們分別通過鍵和值傳遞其物件。這裡todictionary被賦值,並返回了乙個< int,student >dictionary 物件。所以我們建立該型別的物件然後儲存返回的資料,最後用foreach獲取學生資料。

foreach (keyvaluepair student in

listtodictionary)

執行程式

dictionary轉換為list

將dictionary 轉換成list呼叫tolist方法,之前已經建立了乙個studentdictionary物件。直接看如何這個物件轉換到list.

listdictionarytolist =studentdictionary.values.tolist();

foreach (student student in

dictionarytolist)

執行程式

希望本文對你有幫助

c 陣列 和 陣列指標

今天 乙個朋友 面試,面試題如下 int tmain int argc,tchar argv int ptr int a 1 printf d t d a 1 ptr 1 return 0 我覺得 指標 只要 掌握 兩方面資訊 就 沒什麼 可難的了.一是 指標變數 裡 存放的 位址 二是 指標變數 ...

C語言 陣列(字元陣列)

軟體中,文字處理比數字處理更重要,而處理文字時需要用到字串,所以掌握字串的知識很重要。字串一定有 0 結尾,只有以 0 結尾的字元陣列才能稱為字串。0 是字串的標誌,也是字串結束的標誌。一 字串的定義 char arr 10 char brr 5 不是字串,沒有 0 char crr 5 最後乙個元...

c 陣列,2維陣列

也就是區域性變數的一維陣列,在編譯的時候其維度必須是已知的,因此維度必須是乙個常量表示式。int a ok int a 4 int b a wrong!也就是用new 搞出來的,維度可以是乙個變數 int a 4 int b new int a ok!int a 這是個5行4列的陣列,不過實際c 沒...