在Windows(.NET Framework 3和3.5)中编写C#时,我经常使用DataRow对象(或DataRowCollection)。 现在,我想在Linux中使用mono开发的C#程序中使用它。 我的问题是:我在使用单声道时没有找到DataRow的“Field”扩展方法......有人可以帮助我吗?
提前致谢。
(例如:return ds.Table[0].Rows[0].Field<int>(0)
)
答案 0 :(得分:4)
通过查看documentation,Field在System.Data.DataSetExtensions中定义。我不确定它是否在Mono中可用,但尝试为此命名空间添加“using”语句。如果找不到命名空间,可能需要在项目中添加引用。
答案 1 :(得分:0)
您引用的扩展方法在 System.Data.DataSetExtensions.dll 中定义。如果该程序集是Mono发行版的一部分,则应添加对它的引用。如果不是,您可以尝试从MS .NET安装中复制它,看它是否有效。
答案 2 :(得分:0)
与GetInt32(0)
有什么不同?
答案 3 :(得分:-2)
哦,我的。
您确实应该使用名称作为数据集合的索引键:ds.Table [“Table Name”]。行[rowIndex] [“Column Name”]
更具可读性和可维护性。
编辑: VB字段扩展方法:
<Extension>
Public Function Field(ByRef tRow As DataRow, ByVal tColumnName As String) As Object
Return tRow(tColumnName)
End Function