日期:2014-05-18  浏览次数:20751 次

小程序,20分!
编写一个小程序,使用foreach遍历一个DataTable,DataTable中有姓名、年龄、性别等字段,删除年龄小于18岁且性别为男性的记录

 希望帮忙写完整一点。。。

------解决方案--------------------
DataTable dt;
foreach (DataRow dr in dt)
{
if (int.Parse(dr["age"].ToString()) < 18 && dr["sender"].ToString() == "male")
dt.Rows.Remove(dr);
}
------解决方案--------------------
删除的for语句应该是for(int i = dt.rows.count; i >= 0; i--)

因为减掉一行的时候,后面的序数会自动变小,而这个时候继续i增大就会漏掉一行.
------解决方案--------------------
[b]DataTable dt; 
foreach (DataRow dr in dt) 

if (int.Parse(dr["age"].ToString()) < 18 && dr["sex"].ToString() == "male") 
dt.Rows.Remove(dr); 
}[/b]
------解决方案--------------------
用foreach也得是foreach(DataRow dr in dt.Rows)
然后运行的时候等着抛
"dt.Rows集合已改变"
的异常吧``

什么白痴题目,哪个白痴出的```
------解决方案--------------------
DataTable dt;
foreach (DataRow dr in dt)
{
if (int.Parse(dr["age"].ToString()) < 18 && dr["sex"].ToString() == "male")
dt.Rows.Remove(dr);
}

------解决方案--------------------
同意8楼说的,不要上当啊~