在从vb.net转移到c#的过程中,我使用datatable
遇到了这个问题。所以,在这里你看到我想通过引用列标题的名称从行#1获取字段的值:
在vb.net中,我能够做到这一点:
Dim mydatatable as As New System.Data.DataTable
Dim myvar as string
myvar = mydatatable.Rows(1).Item("mycategory")
但C#中没有.item()
。但是,有DataArray[]
,但它只接受整数。
something.InnerText = thisdata.Rows[1].ItemArray[1].ToString();
我是否正确地认为我必须遍历所有列标题以匹配列的名称,然后获取它的索引?或者有没有像我在vb.net中那样工作的方式?
答案 0 :(得分:2)
Rows[1]
返回第二行,即DataRow
类型。 Row还有几个索引器,它们接受column name,DataColumn object,column index等等:
something.InnerText = thisdata.Rows[1]["mycategory"].ToString();
基本上,上面的行等同于以下内容,其中row显式存储在局部变量中:
DataRow row = thisdata.Rows[1];
something.InnerText = row["mycategory"].ToString();
但是在这里完全清楚会发生什么。
答案 1 :(得分:0)
如果您已命名列,则可以在括号内引用这些列。
myvar = mydatatable.Rows[1]["mycategory"]
您也可以使用索引。
myvar = mydatatable.Rows[1][1]