我在asp.net和c#中工作。
我的应用程序中有一个数据表有一列。我想遍历那些列值并检查那些值是否有其他值。请告诉我如何做到这一点。我尝试使用foreach但它不起作用。
代码:
foreach (DataRow dr in dt.Rows)
{
int code = Convert.ToInt32(dt.Rows[0]["Code"]);
if (code == pcode)
{
//do something
}
else
{ }
}
注意:
dt 是我的数据表,列代码。我想将代码列中的所有值与 pcode 进行比较
答案 0 :(得分:2)
int code = Convert.ToInt32(dr["Code"]);
虽然您可能也想检查NULL:)
答案 1 :(得分:1)
在你的循环中,访问dr,而不是dt.Rows [0]。
答案 2 :(得分:0)
您总是访问第一行:
dt.Rows[0]["Code"] // use dr instead of dt.Rows[0]
dt是我的数据表,带有列代码。我想比较所有的值 使用pcode的列代码。
所以当我假设您想要将所有值与一个变量进行比较时,如果所有字段都等于此值,bool
变量应为true
,否则false
?
您可以使用Linq:
var allEqual = dt.AsEnumerable()
.All(r => r.Field<int>("Code") == pcode);
Enumerable.All
确定序列的所有元素是否满足条件。
答案 3 :(得分:0)
foreach (DataRow dr in dt.Rows)
{
object o = dr["Code"];
if (o != DBNull.Value) // Check for null
{
int code = Convert.ToInt32(o);
if (code == pcode)
{
//do something
}
else
{ }
}
}