C# datatable从行中获取特定列

C# datatable从行中获取特定列,c#,datatable,C#,Datatable,我有以下资料: //a datatable with some rows and columns lets say 5x5 var datatable = new DataTable(); var numberofrows = datatable.rows.count; for (int i = 0; i < numberofrows; i++) { //for each row, get the 3rd column var cell = datatable.rows[i].??

我有以下资料:

//a datatable with some rows and columns lets say 5x5
var datatable = new DataTable(); 
var numberofrows = datatable.rows.count;

for (int i = 0; i < numberofrows; i++) {
 //for each row, get the 3rd column
 var cell = datatable.rows[i].???
}
//包含一些行和列的数据表可以是5x5
var datatable=新的datatable();
var numberofrows=datatable.rows.count;
for(int i=0;i
如何获得每行的第三列?

第三列

var cellValue = datatable.Rows[i][2];
更好的是,如果你知道列名

var cellValue = datatable.Rows[i]["column_name"];

您可以遍历datatable并获取每一行,这可以看作是一个数组,因此您可以使用索引(也可以使用列的名称而不是索引,即:row[“column3 name”])来拾取该特定行的每个元素


如果表包含两列“属性”和“值”。可以按如下方式插入内容

table.Columns.Add("Property", typeof(string));
table.Columns.Add("Value", typeof(string));    

table.Rows.Add("P1", "abc");
table.Rows.Add("P2", "xyz");
检索特定列的内容

foreach (DataRow row in table.Rows)
    {
      if (row["Property"].ToString() == "P1")
         {
             var value = row["Value"].ToString();
          }
    }

我们可以像这样读取特定列的值

foreach (DataTable table in ds.Tables)
                {
                    if (table.TableName == "Table1")
                    {

                        for (int j = 0; j < table.Rows.Count; j++)
                        {


                                 int a =  Convert.ToInt32( table.Rows[j].ItemArray[3]);
                                 int b = Convert.ToInt32(table.Rows[j].ItemArray[4]);




                        }
                    }


                }
foreach(ds.Tables中的数据表)
{
如果(table.TableName==“Table1”)
{
对于(int j=0;j
单元格的数据类型是什么?我需要用它来代替'var',这样我就可以得到value@AbdulAhmad,这取决于列的类型。当您创建列(在datatable.Columns.Add(..)中添加列)时,您会重载指定类型。我明白了,好的,我会查看它谢谢您,但我不想使用foreach循环,因为我想根据索引跳过一些行
foreach (DataTable table in ds.Tables)
                {
                    if (table.TableName == "Table1")
                    {

                        for (int j = 0; j < table.Rows.Count; j++)
                        {


                                 int a =  Convert.ToInt32( table.Rows[j].ItemArray[3]);
                                 int b = Convert.ToInt32(table.Rows[j].ItemArray[4]);




                        }
                    }


                }