C# Asp.net的DataRow中的行

C# Asp.net的DataRow中的行,c#,asp.net,C#,Asp.net,这是一个主观的问题,但我仍然希望我能找到帮助。 我正在学习如何将数据库中的两个表合并为一个单独的数据表 DataTable mdt = new DataTable(); mdt.Columns.Add("products"); mdt.Columns.Add("price"); for (int i = 0; i < A.Rows.Count; i++) { DataRow dr = mdt.NewRow()

这是一个主观的问题,但我仍然希望我能找到帮助。
我正在学习如何将数据库中的两个表合并为一个单独的数据表

 DataTable mdt = new DataTable();

    mdt.Columns.Add("products");
    mdt.Columns.Add("price");


for (int i = 0; i < A.Rows.Count; i++)
            {
                DataRow dr = mdt.NewRow();
                dr["product"] = A.Rows[i]["product"].ToString();
                dr["price"] = A.Rows[i]["price"].ToString();
                //A is a DataTable 
                mdt.Rows.Add(dr);
            }
DataTable mdt=newdatatable();
mdt.列。添加(“产品”);
mdt.列。添加(“价格”);
for(int i=0;i
我可以理解数据被添加到Datatable的行中。 这就是我所理解的: DataTable的列product由dr[“product”]分配了一个值。如果我错了,请更正我。但是这是如何
a.Rows[i][“product”]。ToString()工作。

这将有助于:

A = DataTable
A.Rows = Collection of DataRows in A
A.Rows[i] = i-th row from collection
A.Rows[i]["product"] = Column "product" in row (return type of expression is object)

因此,当您执行
dr[“product”]=A.Rows[i][“product”].ToString()时,则将当前行的
product
列的值从数据表A分配给新数据行的
product
列。类似地,
price
列。

的[“product”].ToString()将使用列名product获取单元格的值,并将其转换为要分配给新行的字符串。

行[i]
表示分配值的索引。我的意思是,对于第一个循环,值为0,对于第二个循环,值为1。因此,对于第一个循环,产品和价格的值添加到第一行,索引为0。类似地,对于第二个循环,产品和价格的值添加到第二行,索引为1。
对于第二部分,即
[“product”].ToString()
,它只是将product的值转换为字符串

编辑

因为A是一个已经填充的数据表。我们对该语句所做的是,从集合中获取数据表的第i行,将其转换为字符串,并将其分配到数据行中的“product”列。

行[i][“price”]
是让我困惑的部分。它不是数组。是吗?