我刚开始学习F#,昨晚写了这段F# / ADO.NET代码。你会如何改进语法-使其感觉像习惯用语的F#?
let cn = new OleDbConnection(cnstr)
let sql = "SELECT * FROM People"
let da = new OleDbDataAdapter(new OleDbCommand(sql, cn))
let ds = new DataSet()
cn.Open()
let i = da.Fill(ds)
let rowCol = ds.Tables.[0].Rows
let rowCount = rowCol.Count
printfn "%A" rowCount
for i in 0 .. (rowCount - 1) do
let row:DataRow = rowCol.[i]
printfn "%A" row.["LastName"]
注意: 我发现语法检查器不喜欢rowCol.[i].["LastName"]的语法。如何正确处理双索引器?我不得不将代码拆成两行。
还有 如果我没有使用DataSet路线,而是使用将数据加载到F#记录中的SqlDataReader。那么应该使用什么集合结构来包含这些记录?标准的.NET List<>?