My Spidey Senses говорит мне, что вы новы для этого при каждом вызове метода. Короче говоря, проблема заключается в том, что вы создаете новый список каждый раз.Однако я могу быть совершенно не прав
Попробуйте это в своем классе и удалите его из метода
Поле класса
private List<IDictionary<string, string>> datalist = new List<IDictionary<string, string>>();
Тело метода
Предполагая, что ваш arrColumnNames
является экземпляром списка строк
Вы можете сделать это с помощью Linq
var dict = dataTable.Rows
.Cast<DataColumnCollection>()
.Select(row => arrColumnNames.ToDictionary(x => x, x => row[x].ToString()))
.ToList();
datalist.AddRange(dict);
Сноска : я думаю, что это все немного подозрительно.Вы уверены, что хотите Dictionary
в List
, а не Dictionary
из Key
и List