0

是否可以使用 F# 从头开始​​构建 DataTable 对象

我写了这段代码

module DataHelper
open System
open System.Data
open System.Data.SqlClient

let addDataRow (dt : DataTable) kerberos =
    let dr = dt.NewRow()
    dr["Kerberos"] = kerberos
    dt.Rows.Add(dr)

let Func userList : string seq = 
    let dt : DataTable = new DataTable("UserNameListType")
    let dc : DataColumn = new DataColumn("Kerberos")
    dt.Columns.Add(dc)
    Seq.iter (fun user -> addDataRow dt user) userList
    dt

但这有太多错误

  1. VS.NET 似乎不理解 DataTable、DataRow 类,只向我显示一个“注释”作为智能感知。
  2. 在 F# 中很难使用集合对象 Rows、Columns,因为这些方法都没有真正起作用(在 C# 中很容易工作)。
4

1 回答 1

5

如果您在新项目中执行此操作,则需要添加对System.Data.dll和的引用System.Xml.dll。之后,Visual Studio 应该可以识别这些类型。您可以通过右键单击项目中的“参考”并选择“添加参考”来做到这一点。

除此之外,您的代码中还有两个小错误。赋值应该写成(注意前面有一个点[,运算符是<-代替=):

dr.["Kerberos"] <- kerberos 

你的Func函数应该返回DataTable

let Func userList : DataTable =  
于 2012-08-23T10:54:25.650 回答