我目前正在使用foreach,需要项目的索引.
foreach (DataRow m_row in base_rows) { Company nu = new Company(m_row, symb_rows[0]); }
这是代码.
我试图在base_rows中获取m_row的索引并使用它来传递symb_rows[index_of_m_row]
.这是可能的还是我应该使用正常的for循环?
"for"循环解决方案非常清晰.作为一个有趣的替代解决方案,您可以完全避开循环:
var companies = baseRows .Select((row, index) => new Company(row, symbRows[index])) .ToList();
为了知道集合中的当前索引(使用a foreach
),您必须这样做:
Int32 i = 0; foreach (DataRow m_row in base_rows) { Company nu = new Company(m_row, symb_rows[i]); i++; }
或使用标准for
循环.的IEnumerable
,因为它是一个只进过的项目的基础序列迭代器接口不公开位置索引属性.