0

我在 C# 中有一个名为“table”的数据表,如下所示:

 ID   Value
 10    A
 20    B
 30    C

(它确实有大约 1200 行,但我试图简化它)我的目标是能够在这个数据表中打印特定的行。例如,如果我想打印第二行(行索引 1),我将使用以下内容:

Response.Write(table.Rows[1]["Value"].ToString());

这会打印出我想要的值“B”,但是有没有办法使用“ID”列来打印该特定值而不是使用行索引 1。我希望能够链接 ID 10和价值 B 以某种方式在一起。

4

3 回答 3

2

如果ID被定义为主键,这应该B通过它的ID键查找:

Response.Write(table.Rows.Find(20).["Value"].ToString());
于 2013-02-08T00:09:17.430 回答
0

你可以使用 for each 循环遍历你的数据表,当 ID 等于 10 时,你就可以做你想做的事

会是这样的:

for each row as datarow in datatable.rows
   if row.Items["ID"] = 10 Then
    //do something
   end if
于 2013-02-08T00:10:46.687 回答
0

如果 ID 未设置为 PK(或者您想查询另一个字段),您可以使用 Linq 查询

var chosenRow = (from row in table.AsEnumerable()
                    where row.Field<int>("ID") == 10
                    select row).First();

chosenRow是第一个DataRow满足where子句中设置的标准的对象。所以你可以:

Response.Write(chosenRow["Value"].ToString());
于 2013-02-08T00:12:48.273 回答