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列第一行的值设置我的变量。”
-在这种情况下,对整个行进行迭代是不必要的。我已经为这两种情况提供了解决方案。