C# 通过表C中的值设置变量的初始值#

C# 通过表C中的值设置变量的初始值#,c#,C#,愚蠢的问题: 我有一张像这样的桌子: uid tid 12312 988834 12341 225653 15428 900972 我想用tid列第一行的值设置变量 我尝试了这些命令,但不起作用: 1 - string x=Convert.ToString(row[tid]); 2 - int x= dt.rows[0]["tid"] ; //dt is the name of my table 这一行: string x=Convert.ToString(row[tid

愚蠢的问题: 我有一张像这样的桌子:

uid     tid
12312   988834
12341   225653
15428   900972
我想用tid列第一行的值设置变量

我尝试了这些命令,但不起作用:

1 - string x=Convert.ToString(row[tid]);
2 - int x= dt.rows[0]["tid"] ; //dt is the name of my table
这一行:

string x=Convert.ToString(row[tid]);
假设您尚未处于循环中,则可能是这样

foreach(DataRow row in dt.Rows)
{
    string x = row["tid"].ToString();
}
如果您只对第一行感兴趣,则可以执行以下操作:

DataRow row = dt.Rows[0];
string x = row["tid"].ToString();
第二行应该是这样的:

int x = Convert.ToInt32(dt.Rows[0]["tid"]);

如果行是从datatable中提取的DataRow且tid不为null,则第一个表单应该可以工作。第二种形式需要转换为int32。你能解释一下什么不起作用吗?你能再给我们提供一点代码吗?为什么每次迭代都要创建一个名为
x
的新字符串?@maxmomersteeg我只是演示一下,如果你想使用这样的行:
row[“tid”]
,你需要一个datarow变量,
row
。我假设OP使用循环以这种常见的方式访问数据行,尽管您可以这样做:
DataRow-row=dt.Rows[0]x
,这完全取决于遵循定义的代码。在这种情况下,我只需创建一个
列表
,例如:
var tidValues=new List();foreach(var row in dt.Rows){tidValues.Add(row[“tid”].ToString();}
。所有值现在仍在内存(列表)中。因为真正的问题是:“想用tid列第一行的值设置我的变量。”
,因为真正的问题是:“想用tid列第一行的值设置我的变量。”
-在这种情况下,对整个
行进行迭代是不必要的。我已经为这两种情况提供了解决方案。