在C#中:为什么System.Data.DataRow上没有'Item'?

sl3*_*dg3 9 c# system.data

我正在重写/转换一些VB代码:

Dim dt As New System.Data.DataTable()
Dim dr As System.Data.DataRow = dt.NewRow()
Dim item = dr.Item("myItem")
Run Code Online (Sandbox Code Playgroud)

C#:

System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr = dt.NewRow();
var item = dr.Item["myItem"];
Run Code Online (Sandbox Code Playgroud)

我不能让它在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同时存在于......

Dar*_*rov 21

试试这样:

var item = dr["myItem"];
Run Code Online (Sandbox Code Playgroud)

在C#中,您可以直接访问索引器属性.并且DataRow.Item属性被定义为索引器.

  • @ sl3dg3 - 如果C#和VB之间的语法/风格/行为没有任何差异,它们将不会是2种不同的语言...... (2认同)