Как лучше всего добавлять неизвестные значения из списка списков в столбцы и строки DataTable? У меня есть списки списков объектов типа данных
public class RegClass
{
public string parameterName { get; set; }
public string parameterValue { get; set; }
}
Каждый раз, когда новое «имя параметра» повторяется через новый столбец с этим именем, следует добавлять соответствующее «значение параметра» в качестве строки под ним. . В противном случае при итерации и обнаружении, что объект «parameterName» идентичен уже созданному столбцу, «parameterValue» следует просто добавить в виде строки под уже существующим столбцом. Если в списке нет объекта с параметром «имя параметра», равным существующему столбцу, следует добавить пустое значение.
введите описание изображения здесь
Например, на изображении выше первый список должен содержать объекты типа «RegClass» с «parameterNames» из «s2», «id» и «segment». Поскольку они были добавлены первыми, новые столбцы будут созданы в таблице данных и добавлены «значения параметров». Следующий список содержал объекты типа s2 и id, но не сегмент. Поскольку столбцы уже были созданы, объекты «parameterValues» записываются в соответствующие строки, но поскольку не было объекта с «parameterName», равным «сегменту», добавляется пустое значение. Последний добавленный список содержит объект 'parameterName' 'vtoken'. Поскольку это первый раз, когда объект с этим значением был добавлен, добавляется новый столбец.
Я попытался выполнить итерацию по списку списков и получить каждое уникальное имя параметра, а затем добавить столбцы в таблицу данных .
List<string> queryParametersList = new List<string>();
List<List<RegClass>> regList = new List<List<RegClass>>();
foreach (var v in regList)
{
foreach (var x in v)
{
if (!queryParametersList.Contains(x.parameterName))
{
queryParametersList.Add(x.parameterName);
}
}
}
DataTable queryParamsTable = new DataTable();
foreach (var v in queryParametersList)
{
queryParamsTable.Columns.Add(v, typeof(string));
}
Но как теперь заполнить строки DataTable?