using System.Collections.Generic;
using System.Collections;
using System.Collections.Generic;
using System.Data.DataSetExtensions;
using System.Text.RegularExpressions;
using System.Xml.Serialization;
using System.Globalization;
using System.Diagnostics;
using System.Collections.Concurrent;
using Newtonsoft.Json.Linq;
public static void Main(string[] args)
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("BOOK_ID", typeof(int));
dt.Columns.Add("DATA", typeof(double));
dt.Rows.Add(new object[] {1,34, 2.0d});
dt.Rows.Add(new object[] {2,676, 5.0d});
dt.Rows.Add(new object[] {3,7667, 4.0d});
dt.Rows.Add(new object[] {4,34, 2.0d});
var result = dt.AsEnumerable()
.ToDictionary(x=>x.Field<int>("ID"),
BOOK_ID = x.Field<int>("BOOK_ID"),
DATA = x.Field<double>("DATA")
public int ID { get; set; }
public int BOOK_ID { get; set; }
public double DATA { get; set; }
public override string ToString()
return ID.ToString() + ", " + BOOK_ID.ToString() + ", " + DATA.ToString();