如何在foreach循环外声明datarow?

时间:2015-11-02 12:23:20

标签: c# asp.net for-loop foreach datarow

我正在使用foreach循环并在该循环内部我声明了datarow

DataSet ds = Business.Site.GetSiteActiveModulesWithStatus(siteId);               
foreach (DataRow dr in ds.Tables[0].Rows)

如何在foreach循环外实现此数据行?如何使用for循环而不是foreach循环?

2 个答案:

答案 0 :(得分:1)

循环for:

//Change 0 to other numbers to acess other rows
DataRow row = ds.Tables[0].Rows[0];

在for之外,为了访问特定的DataRow,你可以这样做:

<button id="btn6" type="button" class="btn btn-default"><p id="btn6Text">READ MORE ABOUT US<i id="glyph2" class="fa fa-caret-right fa-3x"></i></p></button>

答案 1 :(得分: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?
}

但你也可以用LINQish风格编写相同的内容:

var rowFound = ds.Tables[0].AsEnumerable()
                           .Where(row => true /*To do: define some matching criteria*/)
                           .FirstOrDefault();

此答案中的所有代码均未经过测试。