如何在foreach循环外声明数据行
本文关键字:声明 数据 循环 foreach | 更新日期: 2023-09-27 18:20:22
我使用foreach循环,在该循环中我声明了数据行
DataSet ds = Business.Site.GetSiteActiveModulesWithStatus(siteId);
foreach (DataRow dr in ds.Tables[0].Rows)
如何在foreach循环之外实现此数据行,以及如何使用for循环而不是foreach循环?
在for中循环:
for(int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
//To acess the row
DataRow row = ds.Tables[0].Rows[i];
}
在for之外,要访问特定的DataRow,可以这样做:
//Change 0 to other numbers to acess other rows
DataRow row = ds.Tables[0].Rows[0];
要访问循环外的行变量,只需在外部声明即可:
DataRow rowFound = null;
for(int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
var currentRow = ds.Tables[0].Rows[i];
if(true /*To do: define some matching criteria*/)
{
rowFound = currentRow;
}
}
if(rowFound != null)
{
// We found some matching, what shall we do?
}
但你也可以用林奇的风格写同样的东西:
var rowFound = ds.Tables[0].AsEnumerable()
.Where(row => true /*To do: define some matching criteria*/)
.FirstOrDefault();
此答案中的所有代码都未经测试