これは好奇心からこの質問をしたいのですが...
これが私のコードです:
for (int i = 0; i < myList.Count - 1; ++i)
{
for (int j = i+1; j < myList.Count; ++j)
{
DoMyStuff(myList[i], myList[j]);
}
}
非常に単純なループですが、明らかにリストでのみ機能します...しかし、私は疑問に思っていました...コレクションのタイプから独立させるために、このループをどのようにコーディングできますか(IEnumerableから派生します...)私の最初の考え:
IEnumerator it1 = myList.GetEnumerator();
while (it1.MoveNext())
{
IEnumerator it2 = it1; // this part is obviously wrong
while (it2.MoveNext())
{
DoMyStuff(it1.Current, it2.Current);
}
}