Je peut-être envisager d'utiliser la méthode IndexOf() comme ceci:
foreach(DataRow m_row in base_rows)
Company nu = new Company(m_row, symb_rows.IndexOf(m_row));
peut-être que vous devez utiliser Array.indexOf() à la place, t Il a travaillé dans VBNET2008, car je travaille actuellement avec lui, mais je ne l'ai pas testé en C#.
For Each DataRow m_row in base_rows
Company nu = New Company(m_row, symb_rows(Array.IndexOf(symb_rows, m_row)))
Next
Donc je pourrais suggérer ce qui suit en C#.
foreach (DataRow m_row in base_rows)
Company nu = new Company(m_row, symb_rows[Array.IndexOf(symb_rows, m_row)]);
Sinon, vous pourriez envisager d'utiliser for (;;) à la place, parfois il vaut mieux le faire.
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])]);
Je ne sais pas ce que vous préférez.
+1 Très intelligent :) –
@Andrew: et donc probablement une mauvaise idée. Je n'aime pas le code intelligent. J'aime le code simple, ennuyeux, facile à lire et à comprendre qui n'exige aucune intelligence. Cette technique peut être utile dans les contextes où la sémantique de l'opération ressemble plus à une requête qu'à une transformation; Je pense que dans ce cas-ci, c'est excessif et qu'une boucle for serait probablement la meilleure solution. Vraiment, c'est à des fins de divertissement seulement. –
Je comprends et suis entièrement d'accord. J'ai apprécié le divertissement bien! :) –