我正在重写/转换一些VB代码:
Dim dt As New System.Data.DataTable()
Dim dr As System.Data.DataRow = dt.NewRow()
Dim item = dr.Item("myItem")
C#:
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr = dt.NewRow();
var item = dr.Item["myItem"];
我不能让它在C#下运行,我遇到的问题是第三行var item = dr.Item["myItem"];
:
System.Data.DataRow' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'System.Data.DataRow' could be found (are you missing a using directive or an assembly reference?)
我在两个项目中引用了System.Data
版本4。我在这里错过了什么?注意:ItemArray同时存在于......
答案 0 :(得分:21)
答案 1 :(得分:2)
实际上没有" Item" C#中的财产。在VB中,DataRow单元访问定义如下:
for
所以有一个文字"项目"属性。但是,在C#中它的定义如下:
Default Public Property Item (
column As DataColumn
) As Object
所以这是类/对象的默认属性。所以你用对象名称访问它。