Всё понятно.
Отложите в сторону ArcObjects и попробуйте смоделировать ситуацию.
Пусть есть метод, который возвращает список строк:
private List<string> GetList()
Пусть есть метод, который вызывает предыдущий метод несколько раз и при этом пытается корректно слить результаты в единый список:
public List<string> ConcatListElements()
И есть метод, который тестирует всё это дело:
[TestMethod]
public void TestConcatListElements()
Убедитесь, что тест выполняется, а потом попробуйте разобраться - почему он выполняется и как это всё работает. Когда разберётесь - легко реализуете то же самое с ArcObjects.
[TestMethod]
public void TestConcatListElements()
{
List<string> result = ConcatListElements();
Assert.AreEqual(3, result.Count);
Assert.AreEqual("0; 3; 6", result[0]);
Assert.AreEqual("1; 4; 7", result[1]);
Assert.AreEqual("2; 5; 8", result[2]);
}
public List<string> ConcatListElements()
{
List<string> result = null;
_counter = 0;
for (int i = 0; i < 3; i++)
{
List<string> list = GetList();
if (result == null)
result = list;
else
for (int j = 0; j < list.Count; j++)
result[j] += "; " + list[j];
}
return result;
}
int _counter = 0;
private List<string> GetList()
{
var list = new List<string>();
list.Add(_counter++.ToString());
list.Add(_counter++.ToString());
list.Add(_counter++.ToString());
return list;
}
Хотя, конечно, запускать курсор несколько раз по одному и тому же слою - не самая лучшая затея.
Но возможно так проще для понимания, не знаю.