当前位置:  开发笔记 > 编程语言 > 正文

我可以使用LINQ将List <MyObjectType>转换为DataSet吗?

如何解决《我可以使用LINQ将List<MyObjectType>转换为DataSet吗?》经验,为你挑选了1个好方法。

我对C#/ .NET中的LINQ完全不熟悉.我知道我可以使用它将DataSet转换为数组/列表,我能朝相反的方向前进吗?

我正在使用NPlot生成捕获价格的图表,这些图表存储在List中,其中PriceInformation是一个包含两个公共双打和一个DateTime的类.

任何建议都非常欢迎.



1> Amy B..:

有一个名为CopyToDataTable的方法.只有你已经拥有IEnumerable(DataRow)时,该方法才有用

这是我如何做到这一点:

//extension method to convert my type to an object array.
public static object[] ToObjectArray(this MyClass theSource)
{
  object[] result = new object[3];
  result[0] = theSource.FirstDouble;
  result[1] = theSource.SecondDouble;
  result[2] = theSource.TheDateTime;

  return result;
}


//some time later, new up a dataTable, set it's columns, and then...

DataTable myTable = new DataTable()

DataColumn column1 = new DataColumn();
column1.DataType = GetType("System.Double");
column1.ColumnName = "FirstDouble";
myTable.Add(column1);

DataColumn column2 = new DataColumn();
column2.DataType = GetType("System.Double");
column2.ColumnName = "SecondDouble";
myTable.Add(column2);

DataColumn column3 = new DataColumn();
column3.DataType = GetType("System.DateTime");
column3.ColumnName = "TheDateTime";
myTable.Add(column3);

// ... Each Element becomes an array, and then a row
MyClassList.ForEach(x => myTable.Rows.Add(x.ToObjectArray());

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有