2016-07-27 8 views
0

ループでこれを行うのは問題ありませんが、一緒に使用すると組み込みの変換関数があるかどうか、 ADO.NET DataTable(2つ以上の列を含む)内のデータを1ライナー内のDictionary<string,string>に移動することができます。ここで、キーを持つ列と値を持つ列は、インデックス位置ではない名前で指定されます。DataTableを辞書に変換する<string、string> foreachを使用しないで列名を指定する

答えて

1

はこれをテストしたが、ドキュメントを読み取ることではないか:あなたはワンライナーを求め

IEnumerable<Dictionary<string, string>> dic = 
    dataTable.Rows.OfType<DataRow>() 
    .Select(row => dataTable.Columns.OfType<DataColumn>() 
        .ToDictionary(col => col.ColumnName, col => row[col] != null ? row[col].ToString() : null)); 

:)

+0

はい、私は1つのライナー:)感謝をお願いしました。私は後でオフィスに入るときにテストします。 – Tim

関連する問題