2

DataTable4 つの列 ( NameContactAddress、 )がありMarksます。DataTableに変換したいList<KeyValuePair<String, int>>Nameその中にとを追加したいと思いMarksます。私はこの質問を見ていましたが、私が求めているものに対する正確な答えはありません。

Linq を使用せずにデータ テーブルを変換する方法を教えてください。List はレコードが重複する可能性があるため、Tuple を使用することを考えています。それが可能であれば、いくつかの例を教えてください。

4

2 に答える 2

4

これでうまくいくはずです。もちろん、dtはデータテーブルの名前です。dr[0]の代わりにdr["ColName"]を実行することもできます:)

    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])));
    }
于 2013-01-24T07:13:00.327 に答える
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;
}
于 2013-01-24T07:14:08.547 に答える