Я бы, возможно, подумал об использовании метода IndexOf () следующим образом:
foreach(DataRow m_row in base_rows)
Company nu = new Company(m_row, symb_rows.IndexOf(m_row));
Возможно, вам придется использовать Array.IndexOf () вместо этого, это работало в VBNET2008, так как я сейчас с ним работаю, но я не тестировал его в C #.
For Each DataRow m_row in base_rows
Company nu = New Company(m_row, symb_rows(Array.IndexOf(symb_rows, m_row)))
Next
Так что я мог бы предложить следующее в C #.
foreach (DataRow m_row in base_rows)
Company nu = new Company(m_row, symb_rows[Array.IndexOf(symb_rows, m_row)]);
В противном случае, вы можете вместо этого использовать for (;;), иногда лучше сделать это.
for(int index = 0; index < base_rows.Length && index < symb_rows.Length; ++index)
Company nu = new Company(base_rows[index], symb_rows[symb_rows.IndexOf(base[index])]);
Хотя я не знаю, что вы предпочитаете.