2013-01-24 142 views
1

我有一個DataTable與4列(NameContactAddressMarks)。我想將我的DataTable轉換爲List<KeyValuePair<String, int>>。我想在此添加NameMarks。我正在尋找this question,但是我沒有確切的答案。如何轉換數據表列出<KeyValuePair <string, int>>

有人可以告訴我如何在不使用Linq的情況下轉換數據表。列表可能有重複的記錄,所以我想使用Tuple。如果有可能,那麼請幫助我一些例子。

+2

*爲什麼*您不想使用LINQ ? –

回答

2

這應該做到這一點。 dt當然是你的數據表的名字。您可能還需要做博士[ 「COLNAME」]而不是博士[0] :)

List<KeyValuePair<String, int>> test = new List<KeyValuePair<string, int>>(); 
    foreach (DataRow dr in dt.Rows) 
    { 
     test.Add(new KeyValuePair<string, int>(dr[0].ToString(), Convert.ToInt16(dr[3]))); 
    } 
0

這是把我的頭,但:

public static List<KeyValuePair<string, int>> ConvertRowsToList(DataTable input) { 
    var ret = new List<KeyValuePair<string, int>>(); 

    foreach(DataRow dr in input.Rows) 
    ret.Add(new KeyValuePair<string, int>((string)dr["Name"], (int)dr["Marks"])); 

    return ret; 
} 
相關問題